From 17f9cd2334146c1ecacafb939c70171d1d524996 Mon Sep 17 00:00:00 2001 From: Thomas Fransolet Date: Thu, 14 Dec 2023 17:49:07 +0100 Subject: [PATCH] Update all object to visitNamur request --- .../DTO/SubSection/ArticleDTO.cs | 10 +++++++ Manager.Interfaces/DTO/SubSection/MapDTO.cs | 20 ++++++++++---- Manager.Interfaces/DTO/SubSection/QuizzDTO.cs | 11 +++++--- .../DTO/SubSection/SliderDTO.cs | 8 +++--- .../Controllers/ConfigurationController.cs | 24 ++++++++--------- .../Controllers/ResourceController.cs | 27 ++++++++++--------- .../Controllers/SectionController.cs | 2 +- 7 files changed, 64 insertions(+), 38 deletions(-) diff --git a/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs b/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs index 2145a3e..648986a 100644 --- a/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs +++ b/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs @@ -13,4 +13,14 @@ namespace Manager.Interfaces.DTO public bool isReadAudioAuto { get; set; } // MyVisit - True for audio play when open the article / false otherwise public List images { get; set; } // Will check if ok or if we need need type of image (simpler) } + + public class ImageDTO + { + public List title { get; set; } + public List description { get; set; } + public string resourceId { get; set; } + public string source { get; set; } // url to resource id (local) or on internet + public int order { get; set; } // Order to show + public ResourceType type { get; set; } + } } diff --git a/Manager.Interfaces/DTO/SubSection/MapDTO.cs b/Manager.Interfaces/DTO/SubSection/MapDTO.cs index bb6cbac..76212ec 100644 --- a/Manager.Interfaces/DTO/SubSection/MapDTO.cs +++ b/Manager.Interfaces/DTO/SubSection/MapDTO.cs @@ -11,7 +11,8 @@ namespace Manager.Interfaces.DTO public MapTypeApp mapType { get; set; } // Default = Hybrid public List points { get; set; } public string iconResourceId { get; set; } - public string iconSource { get; set; } // url to resource id (local) or on internet + public string iconSource { get; set; } // url to firebase storage or on internet + public List categories { get; set; } } public class GeoPointDTO @@ -19,15 +20,24 @@ namespace Manager.Interfaces.DTO public int id { get; set; } public List title { get; set; } public List description { get; set; } - public List images { get; set; } + public List contents { get; set; } + public CategorieDTO categorie { get; set; } public string latitude { get; set; } public string longitude { get; set; } } - public class ImageGeoPoint + public class CategorieDTO { - public string imageResourceId { get; set; } - public string imageSource { get; set; } // url to resource id (local) or on internet + public string name { get; set; } + public string icon { get; set; } + } + + public class ContentGeoPoint + { + public string resourceId { get; set; } + public ResourceType resourceType { get; set; } + public string resourceUrl { get; set; } // url to firebase storage or on internet + public string latitude { get; set; } } public enum MapTypeApp diff --git a/Manager.Interfaces/DTO/SubSection/QuizzDTO.cs b/Manager.Interfaces/DTO/SubSection/QuizzDTO.cs index 919a293..2d806b5 100644 --- a/Manager.Interfaces/DTO/SubSection/QuizzDTO.cs +++ b/Manager.Interfaces/DTO/SubSection/QuizzDTO.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Security.AccessControl; using System.Text; namespace Manager.Interfaces.DTO @@ -17,8 +18,9 @@ namespace Manager.Interfaces.DTO { public List label { get; set; } public List responses { get; set; } - public string resourceId { get; set; } // question image - public string source { get; set; } + public string resourceId { get; set; } // question image, audio or video + public ResourceType resourceType { get; set; } + public string resourceUrl { get; set; } // url to firebase storage or on internet public int order { get; set; } // Order to show } @@ -32,7 +34,8 @@ namespace Manager.Interfaces.DTO public class LevelDTO { public List label { get; set; } - public string resourceId { get; set; } // level result image - public string source { get; set; } + public string resourceId { get; set; } // level result image or video + public ResourceType resourceType { get; set; } + public string resourceUrl { get; set; } // url to firebase storage or on internet } } diff --git a/Manager.Interfaces/DTO/SubSection/SliderDTO.cs b/Manager.Interfaces/DTO/SubSection/SliderDTO.cs index df2af38..db3121b 100644 --- a/Manager.Interfaces/DTO/SubSection/SliderDTO.cs +++ b/Manager.Interfaces/DTO/SubSection/SliderDTO.cs @@ -7,14 +7,16 @@ namespace Manager.Interfaces.DTO { public class SliderDTO { - public List images { get; set; } + public List contents { get; set; } } - public class ImageDTO { + public class ContentDTO + { public List title { get; set; } public List description { get; set; } public string resourceId { get; set; } - public string source { get; set; } // url to resource id (local) or on internet + public string resourceUrl { get; set; } // url to firebase storage or on internet public int order { get; set; } // Order to show + public ResourceType resourceType { get; set; } } } diff --git a/ManagerService/Controllers/ConfigurationController.cs b/ManagerService/Controllers/ConfigurationController.cs index 19444c4..9daacab 100644 --- a/ManagerService/Controllers/ConfigurationController.cs +++ b/ManagerService/Controllers/ConfigurationController.cs @@ -350,10 +350,10 @@ namespace ManagerService.Controllers } foreach (var point in mapDTO.points) { - foreach (var image in point.images) { - if (image.imageResourceId != null) + foreach (var content in point.contents) { + if (content.resourceId != null) { - addResourceToList(resourceDTOs, image.imageResourceId); + addResourceToList(resourceDTOs, content.resourceId); } } } @@ -361,11 +361,11 @@ namespace ManagerService.Controllers break; case SectionType.Slider: SliderDTO sliderDTO = JsonConvert.DeserializeObject(section.data); - foreach (var image in sliderDTO.images) + foreach (var content in sliderDTO.contents) { - if (image.resourceId != null) + if (content.resourceId != null) { - addResourceToList(resourceDTOs, image.resourceId); + addResourceToList(resourceDTOs, content.resourceId); } } break; @@ -546,11 +546,11 @@ namespace ManagerService.Controllers foreach (var point in mapDTO.points) { - foreach (var image in point.images) + foreach (var content in point.contents) { - if (image.imageResourceId != null) + if (content.resourceId != null) { - createResource(exportConfiguration.resources.Where(r => r.id == image.imageResourceId).FirstOrDefault()); + createResource(exportConfiguration.resources.Where(r => r.id == content.resourceId).FirstOrDefault()); } } } @@ -558,11 +558,11 @@ namespace ManagerService.Controllers break; case SectionType.Slider: SliderDTO sliderDTO = JsonConvert.DeserializeObject(section.data); - foreach (var image in sliderDTO.images) + foreach (var content in sliderDTO.contents) { - if (image.resourceId != null) + if (content.resourceId != null) { - createResource(exportConfiguration.resources.Where(r => r.id == image.resourceId).FirstOrDefault()); + createResource(exportConfiguration.resources.Where(r => r.id == content.resourceId).FirstOrDefault()); } } break; diff --git a/ManagerService/Controllers/ResourceController.cs b/ManagerService/Controllers/ResourceController.cs index 2ad0d24..4d10e6d 100644 --- a/ManagerService/Controllers/ResourceController.cs +++ b/ManagerService/Controllers/ResourceController.cs @@ -18,6 +18,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using NSwag.Annotations; +using static System.Net.Mime.MediaTypeNames; namespace ManagerService.Controllers { @@ -446,49 +447,49 @@ namespace ManagerService.Controllers mapDTO.iconResourceId = mapDTO.iconResourceId == id ? null : mapDTO.iconResourceId; foreach (var point in mapDTO.points) { - foreach (var image in point.images) + foreach (var content in point.contents) { - image.imageSource = image.imageResourceId == id ? null : image.imageSource; - image.imageResourceId = image.imageResourceId == id ? null : image.imageResourceId; + content.resourceUrl = content.resourceId == id ? null : content.resourceUrl; + content.resourceId = content.resourceId == id ? null : content.resourceId; } } section.Data = JsonConvert.SerializeObject(mapDTO); break; case SectionType.Slider: SliderDTO sliderDTO = JsonConvert.DeserializeObject(section.Data); - List imagesToKeep = new List(); - foreach (var image in sliderDTO.images) + List contentsToKeep = new List(); + foreach (var content in sliderDTO.contents) { - if (image.resourceId != id) - imagesToKeep.Add(image); + if (content.resourceId != id) + contentsToKeep.Add(content); } - sliderDTO.images = imagesToKeep; + sliderDTO.contents = contentsToKeep; section.Data = JsonConvert.SerializeObject(sliderDTO); break; case SectionType.Quizz: QuizzDTO quizzDTO = JsonConvert.DeserializeObject(section.Data); foreach (var question in quizzDTO.questions) { - question.source = question.resourceId == id ? null : question.source; + question.resourceUrl = question.resourceId == id ? null : question.resourceUrl; question.resourceId = question.resourceId == id ? null : question.resourceId; } if (quizzDTO.bad_level != null) { - quizzDTO.bad_level.source = quizzDTO.bad_level.resourceId == id ? null : quizzDTO.bad_level.source; + quizzDTO.bad_level.resourceUrl = quizzDTO.bad_level.resourceId == id ? null : quizzDTO.bad_level.resourceUrl; quizzDTO.bad_level.resourceId = quizzDTO.bad_level.resourceId == id ? null : quizzDTO.bad_level.resourceId; } if (quizzDTO.medium_level != null) { - quizzDTO.medium_level.source = quizzDTO.medium_level.resourceId == id ? null : quizzDTO.medium_level.source; + quizzDTO.medium_level.resourceUrl = quizzDTO.medium_level.resourceId == id ? null : quizzDTO.medium_level.resourceUrl; quizzDTO.medium_level.resourceId = quizzDTO.medium_level.resourceId == id ? null : quizzDTO.medium_level.resourceId; } if (quizzDTO.good_level != null) { - quizzDTO.good_level.source = quizzDTO.good_level.resourceId == id ? null : quizzDTO.good_level.source; + quizzDTO.good_level.resourceUrl = quizzDTO.good_level.resourceId == id ? null : quizzDTO.good_level.resourceUrl; quizzDTO.good_level.resourceId = quizzDTO.good_level.resourceId == id ? null : quizzDTO.good_level.resourceId; } if (quizzDTO.great_level != null) { - quizzDTO.great_level.source = quizzDTO.great_level.resourceId == id ? null : quizzDTO.great_level.source; + quizzDTO.great_level.resourceUrl = quizzDTO.great_level.resourceId == id ? null : quizzDTO.great_level.resourceUrl; quizzDTO.great_level.resourceId = quizzDTO.great_level.resourceId == id ? null : quizzDTO.great_level.resourceId; } section.Data = JsonConvert.SerializeObject(quizzDTO); diff --git a/ManagerService/Controllers/SectionController.cs b/ManagerService/Controllers/SectionController.cs index 8f3857a..47a1616 100644 --- a/ManagerService/Controllers/SectionController.cs +++ b/ManagerService/Controllers/SectionController.cs @@ -364,7 +364,7 @@ namespace ManagerService.Controllers break; case SectionType.Slider: sliderDTO = new SliderDTO(); - sliderDTO.images = new List(); + sliderDTO.contents = new List(); section.Data = JsonConvert.SerializeObject(sliderDTO); // Include all info from specific section as JSON break;