Add TranslationAndResource

This commit is contained in:
Thomas Fransolet 2023-12-27 15:06:31 +01:00
parent 9f1740c129
commit 22ffe09dd8
6 changed files with 135 additions and 52 deletions

View File

@ -7,8 +7,8 @@ namespace Manager.Interfaces.DTO
{
public class PuzzleDTO
{
public List<TranslationDTO> messageDebut { get; set; }
public List<TranslationDTO> messageFin { get; set; }
public List<TranslationAndResourceDTO> messageDebut { get; set; }
public List<TranslationAndResourceDTO> messageFin { get; set; }
public ContentDTO image { get; set; } // But only image is possible
}
}

View File

@ -16,32 +16,23 @@ namespace Manager.Interfaces.DTO
public class QuestionDTO
{
public List<TranslationDTO> label { get; set; }
public List<TranslationAndResourceDTO> label { 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 ResourceType resourceType { get; set; }
public string resourceUrl { get; set; } // url to firebase storage or on internet
public int order { get; set; } // Order to show
}
public class ResponseDTO
{
public List<TranslationDTO> label { get; set; }
public List<TranslationAndResourceDTO> label { get; set; }
public bool isGood { 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
}
public class LevelDTO
{
public List<TranslationDTO> label { 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
public List<TranslationAndResourceDTO> label { get; set; }
}
}

View File

@ -0,0 +1,16 @@
using Manager.Interfaces.Models;
using System;
using System.Collections.Generic;
using System.Text;
namespace Manager.Interfaces.DTO
{
public class TranslationAndResourceDTO
{
public string language { get; set; }
public string value { 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
}
}

View File

@ -1,4 +1,5 @@
using System;
using Manager.Interfaces.Models;
using System;
using System.Collections.Generic;
using System.Text;

View File

@ -389,9 +389,12 @@ namespace ManagerService.Controllers
QuizzDTO quizzDTO = JsonConvert.DeserializeObject<QuizzDTO>(section.data);
foreach (var question in quizzDTO.questions)
{
if (question.resourceId != null)
if (question.label != null)
{
addResourceToList(resourceDTOs, question.resourceId);
foreach (var questionLabel in question.label)
{
addResourceToList(resourceDTOs, questionLabel.resourceId);
}
}
if (question.imageBackgroundResourceId != null)
{
@ -399,38 +402,53 @@ namespace ManagerService.Controllers
}
foreach (var response in question.responses)
{
if (response.resourceId != null)
if (response.label != null)
{
addResourceToList(resourceDTOs, response.resourceId);
foreach (var responseLabel in response.label)
{
addResourceToList(resourceDTOs, responseLabel.resourceId);
}
}
}
}
if (quizzDTO.bad_level != null)
{
if (quizzDTO.bad_level.resourceId != null)
if (quizzDTO.bad_level.label != null)
{
addResourceToList(resourceDTOs, quizzDTO.bad_level.resourceId);
foreach (var badLevelLabel in quizzDTO.bad_level.label)
{
addResourceToList(resourceDTOs, badLevelLabel.resourceId);
}
}
}
if (quizzDTO.medium_level != null)
{
if (quizzDTO.medium_level.resourceId != null)
if (quizzDTO.medium_level.label != null)
{
addResourceToList(resourceDTOs, quizzDTO.medium_level.resourceId);
foreach (var medium_levelLabel in quizzDTO.medium_level.label)
{
addResourceToList(resourceDTOs, medium_levelLabel.resourceId);
}
}
}
if (quizzDTO.good_level != null)
{
if (quizzDTO.good_level.resourceId != null)
if (quizzDTO.good_level.label != null)
{
addResourceToList(resourceDTOs, quizzDTO.good_level.resourceId);
foreach (var good_levelLabel in quizzDTO.good_level.label)
{
addResourceToList(resourceDTOs, good_levelLabel.resourceId);
}
}
}
if (quizzDTO.great_level != null)
{
if (quizzDTO.great_level.resourceId != null)
if (quizzDTO.great_level.label != null)
{
addResourceToList(resourceDTOs, quizzDTO.great_level.resourceId);
foreach (var great_levelLabel in quizzDTO.great_level.label)
{
addResourceToList(resourceDTOs, great_levelLabel.resourceId);
}
}
}
break;
@ -616,9 +634,12 @@ namespace ManagerService.Controllers
QuizzDTO quizzDTO = JsonConvert.DeserializeObject<QuizzDTO>(section.data);
foreach (var question in quizzDTO.questions)
{
if (question.resourceId != null)
if (question.label != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == question.resourceId).FirstOrDefault());
foreach (var questionLabel in question.label)
{
createResource(exportConfiguration.resources.Where(r => r.id == questionLabel.resourceId).FirstOrDefault());
}
}
if (question.imageBackgroundResourceId != null)
{
@ -626,38 +647,53 @@ namespace ManagerService.Controllers
}
foreach (var response in question.responses)
{
if (response.resourceId != null)
if (response.label != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == response.resourceId).FirstOrDefault());
foreach (var responseLabel in response.label)
{
createResource(exportConfiguration.resources.Where(r => r.id == responseLabel.resourceId).FirstOrDefault());
}
}
}
}
if (quizzDTO.bad_level != null)
{
if(quizzDTO.bad_level.resourceId != null)
if(quizzDTO.bad_level.label != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == quizzDTO.bad_level.resourceId).FirstOrDefault());
foreach (var balLevelLabel in quizzDTO.bad_level.label)
{
createResource(exportConfiguration.resources.Where(r => r.id == balLevelLabel.resourceId).FirstOrDefault());
}
}
}
if (quizzDTO.medium_level != null)
{
if (quizzDTO.medium_level.resourceId != null)
if (quizzDTO.medium_level.label != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == quizzDTO.medium_level.resourceId).FirstOrDefault());
foreach (var medium_levelLabel in quizzDTO.medium_level.label)
{
createResource(exportConfiguration.resources.Where(r => r.id == medium_levelLabel.resourceId).FirstOrDefault());
}
}
}
if (quizzDTO.good_level != null)
{
if (quizzDTO.good_level.resourceId != null)
if (quizzDTO.good_level.label != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == quizzDTO.good_level.resourceId).FirstOrDefault());
foreach (var good_levelLabel in quizzDTO.good_level.label)
{
createResource(exportConfiguration.resources.Where(r => r.id == good_levelLabel.resourceId).FirstOrDefault());
}
}
}
if (quizzDTO.great_level != null)
{
if (quizzDTO.great_level.resourceId != null)
if (quizzDTO.great_level.label != null)
{
createResource(exportConfiguration.resources.Where(r => r.id == quizzDTO.great_level.resourceId).FirstOrDefault());
foreach (var great_levelLabel in quizzDTO.great_level.label)
{
createResource(exportConfiguration.resources.Where(r => r.id == great_levelLabel.resourceId).FirstOrDefault());
}
}
}
break;

View File

@ -454,34 +454,73 @@ namespace ManagerService.Controllers
QuizzDTO quizzDTO = JsonConvert.DeserializeObject<QuizzDTO>(section.Data);
foreach (var question in quizzDTO.questions)
{
question.resourceUrl = question.resourceId == id ? null : question.resourceUrl;
question.resourceId = question.resourceId == id ? null : question.resourceId;
if (question.label != null)
{
foreach (var questionLabel in question.label)
{
questionLabel.resourceUrl = questionLabel.resourceId == id ? null : questionLabel.resourceUrl;
questionLabel.resourceId = questionLabel.resourceId == id ? null : questionLabel.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 (response.label != null)
{
foreach (var responseLabel in response.label)
{
responseLabel.resourceUrl = responseLabel.resourceId == id ? null : responseLabel.resourceUrl;
responseLabel.resourceId = responseLabel.resourceId == id ? null : responseLabel.resourceId;
}
}
}
}
if (quizzDTO.bad_level != null) {
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.bad_level != null)
{
if (quizzDTO.bad_level.label != null)
{
foreach (var badLevelLabel in quizzDTO.bad_level.label)
{
badLevelLabel.resourceUrl = badLevelLabel.resourceId == id ? null : badLevelLabel.resourceUrl;
badLevelLabel.resourceId = badLevelLabel.resourceId == id ? null : badLevelLabel.resourceId;
}
}
}
if (quizzDTO.medium_level != null)
{
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.medium_level.label != null)
{
foreach (var medium_levelLabel in quizzDTO.medium_level.label)
{
medium_levelLabel.resourceUrl = medium_levelLabel.resourceId == id ? null : medium_levelLabel.resourceUrl;
medium_levelLabel.resourceId = medium_levelLabel.resourceId == id ? null : medium_levelLabel.resourceId;
}
}
}
if (quizzDTO.good_level != null)
{
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.good_level.label != null)
{
foreach (var gooLevelLabel in quizzDTO.good_level.label)
{
gooLevelLabel.resourceUrl = gooLevelLabel.resourceId == id ? null : gooLevelLabel.resourceUrl;
gooLevelLabel.resourceId = gooLevelLabel.resourceId == id ? null : gooLevelLabel.resourceId;
}
}
}
if (quizzDTO.great_level != null)
{
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;
if (quizzDTO.great_level.label != null)
{
foreach (var greatLevelLabel in quizzDTO.great_level.label)
{
greatLevelLabel.resourceUrl = greatLevelLabel.resourceId == id ? null : greatLevelLabel.resourceUrl;
greatLevelLabel.resourceId = greatLevelLabel.resourceId == id ? null : greatLevelLabel.resourceId;
}
}
}
section.Data = JsonConvert.SerializeObject(quizzDTO);
break;