Update all object to visitNamur request

This commit is contained in:
Thomas Fransolet 2023-12-14 17:49:07 +01:00
parent 369b789abb
commit 17f9cd2334
7 changed files with 64 additions and 38 deletions

View File

@ -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<ImageDTO> images { get; set; } // Will check if ok or if we need need type of image (simpler)
}
public class ImageDTO
{
public List<TranslationDTO> title { get; set; }
public List<TranslationDTO> 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; }
}
}

View File

@ -11,7 +11,8 @@ namespace Manager.Interfaces.DTO
public MapTypeApp mapType { get; set; } // Default = Hybrid
public List<GeoPointDTO> 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<CategorieDTO> categories { get; set; }
}
public class GeoPointDTO
@ -19,15 +20,24 @@ namespace Manager.Interfaces.DTO
public int id { get; set; }
public List<TranslationDTO> title { get; set; }
public List<TranslationDTO> description { get; set; }
public List<ImageGeoPoint> images { get; set; }
public List<ContentGeoPoint> 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

View File

@ -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<TranslationDTO> label { get; set; }
public List<ResponseDTO> 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<TranslationDTO> 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
}
}

View File

@ -7,14 +7,16 @@ namespace Manager.Interfaces.DTO
{
public class SliderDTO
{
public List<ImageDTO> images { get; set; }
public List<ContentDTO> contents { get; set; }
}
public class ImageDTO {
public class ContentDTO
{
public List<TranslationDTO> title { get; set; }
public List<TranslationDTO> 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; }
}
}

View File

@ -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<SliderDTO>(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<SliderDTO>(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;

View File

@ -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<SliderDTO>(section.Data);
List<ImageDTO> imagesToKeep = new List<ImageDTO>();
foreach (var image in sliderDTO.images)
List<ContentDTO> contentsToKeep = new List<ContentDTO>();
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<QuizzDTO>(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);

View File

@ -364,7 +364,7 @@ namespace ManagerService.Controllers
break;
case SectionType.Slider:
sliderDTO = new SliderDTO();
sliderDTO.images = new List<ImageDTO>();
sliderDTO.contents = new List<ContentDTO>();
section.Data = JsonConvert.SerializeObject(sliderDTO); // Include all info from specific section as JSON
break;