Update service DTOs

This commit is contained in:
Thomas Fransolet 2023-12-27 11:08:56 +01:00
parent 53cf5509d4
commit 9f1740c129
5 changed files with 60 additions and 3 deletions

View File

@ -28,8 +28,10 @@ namespace Manager.Interfaces.DTO
public class CategorieDTO public class CategorieDTO
{ {
public string name { get; set; } public List<TranslationDTO> name { get; set; }
public string icon { get; set; } public string icon { get; set; } // icon material
public string iconResourceId { get; set; } // icon point geo
public string iconUrl { get; set; } // url to firebase storage or on internet
} }
public class ContentGeoPoint public class ContentGeoPoint

View File

@ -18,6 +18,9 @@ namespace Manager.Interfaces.DTO
{ {
public List<TranslationDTO> label { get; set; } public List<TranslationDTO> label { get; set; }
public List<ResponseDTO> responses { get; set; } public List<ResponseDTO> responses { get; set; }
public string imageBackgroundResourceId { get; set; } // question image background
public ResourceType imageBackgroundResourceType { get; set; }
public string imageBackgroundResourceUrl { get; set; } // url to firebase storage or on internet
public string resourceId { get; set; } // question image, audio or video public string resourceId { get; set; } // question image, audio or video
public ResourceType resourceType { get; set; } public ResourceType resourceType { get; set; }
public string resourceUrl { get; set; } // url to firebase storage or on internet public string resourceUrl { get; set; } // url to firebase storage or on internet

View File

@ -366,6 +366,14 @@ namespace ManagerService.Controllers
} }
} }
foreach (var categorie in mapDTO.categories)
{
if (categorie.iconResourceId != null)
{
addResourceToList(resourceDTOs, categorie.iconResourceId);
}
}
break; break;
case SectionType.Slider: case SectionType.Slider:
SliderDTO sliderDTO = JsonConvert.DeserializeObject<SliderDTO>(section.data); SliderDTO sliderDTO = JsonConvert.DeserializeObject<SliderDTO>(section.data);
@ -385,6 +393,17 @@ namespace ManagerService.Controllers
{ {
addResourceToList(resourceDTOs, question.resourceId); addResourceToList(resourceDTOs, question.resourceId);
} }
if (question.imageBackgroundResourceId != null)
{
addResourceToList(resourceDTOs, question.imageBackgroundResourceId);
}
foreach (var response in question.responses)
{
if (response.resourceId != null)
{
addResourceToList(resourceDTOs, response.resourceId);
}
}
} }
if (quizzDTO.bad_level != null) if (quizzDTO.bad_level != null)
{ {
@ -574,6 +593,14 @@ namespace ManagerService.Controllers
} }
} }
foreach (var categorie in mapDTO.categories)
{
if (categorie.iconResourceId != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == categorie.iconResourceId).FirstOrDefault());
}
}
break; break;
case SectionType.Slider: case SectionType.Slider:
SliderDTO sliderDTO = JsonConvert.DeserializeObject<SliderDTO>(section.data); SliderDTO sliderDTO = JsonConvert.DeserializeObject<SliderDTO>(section.data);
@ -593,6 +620,17 @@ namespace ManagerService.Controllers
{ {
createResource(exportConfiguration.resources.Where(r => r.id == question.resourceId).FirstOrDefault()); createResource(exportConfiguration.resources.Where(r => r.id == question.resourceId).FirstOrDefault());
} }
if (question.imageBackgroundResourceId != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == question.imageBackgroundResourceId).FirstOrDefault());
}
foreach (var response in question.responses)
{
if (response.resourceId != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == response.resourceId).FirstOrDefault());
}
}
} }
if (quizzDTO.bad_level != null) if (quizzDTO.bad_level != null)
{ {

View File

@ -431,6 +431,12 @@ namespace ManagerService.Controllers
content.resourceId = content.resourceId == id ? null : content.resourceId; content.resourceId = content.resourceId == id ? null : content.resourceId;
} }
} }
foreach (var categorie in mapDTO.categories)
{
categorie.iconUrl = categorie.iconResourceId == id ? null : categorie.iconUrl;
categorie.iconResourceId = categorie.iconResourceId == id ? null : categorie.iconResourceId;
}
section.Data = JsonConvert.SerializeObject(mapDTO); section.Data = JsonConvert.SerializeObject(mapDTO);
break; break;
case SectionType.Slider: case SectionType.Slider:
@ -450,6 +456,13 @@ namespace ManagerService.Controllers
{ {
question.resourceUrl = question.resourceId == id ? null : question.resourceUrl; question.resourceUrl = question.resourceId == id ? null : question.resourceUrl;
question.resourceId = question.resourceId == id ? null : question.resourceId; question.resourceId = question.resourceId == id ? null : question.resourceId;
question.imageBackgroundResourceUrl = question.imageBackgroundResourceId == id ? null : question.imageBackgroundResourceUrl;
question.imageBackgroundResourceId = question.imageBackgroundResourceId == id ? null : question.imageBackgroundResourceId;
foreach (var response in question.responses)
{
response.resourceUrl = response.resourceId == id ? null : response.resourceUrl;
response.resourceId = response.resourceId == id ? null : response.resourceId;
}
} }
if (quizzDTO.bad_level != null) { if (quizzDTO.bad_level != null) {
quizzDTO.bad_level.resourceUrl = quizzDTO.bad_level.resourceId == id ? null : quizzDTO.bad_level.resourceUrl; quizzDTO.bad_level.resourceUrl = quizzDTO.bad_level.resourceId == id ? null : quizzDTO.bad_level.resourceUrl;

View File

@ -359,6 +359,7 @@ namespace ManagerService.Controllers
mapDTO.zoom = 18; mapDTO.zoom = 18;
mapDTO.points = new List<GeoPointDTO>(); mapDTO.points = new List<GeoPointDTO>();
mapDTO.categories = new List<CategorieDTO>();
section.Data = JsonConvert.SerializeObject(mapDTO); // Include all info from specific section as JSON section.Data = JsonConvert.SerializeObject(mapDTO); // Include all info from specific section as JSON
break; break;