From fc9d38c3c11dc70201b27105e607ad951b047d8e Mon Sep 17 00:00:00 2001 From: Fransolet Thomas Date: Thu, 22 Dec 2022 14:31:49 +0100 Subject: [PATCH] Update article to handle multiple audioIds --- .../DTO/SubSection/ArticleDTO.cs | 4 +--- .../Controllers/SectionController.cs | 21 +++++++++++++++++++ ManagerService/Helpers/LanguageInit.cs | 5 +++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs b/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs index 5c74103..64c6830 100644 --- a/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs +++ b/Manager.Interfaces/DTO/SubSection/ArticleDTO.cs @@ -7,12 +7,10 @@ namespace Manager.Interfaces.DTO { public class ArticleDTO { - //public List title { get; set; } - //public List description { get; set; } public List content { get; set; } public string qrCode { get; set; } // MyVisit - QR code identifier int ? String ? public bool isContentTop { get; set; } // MyVisit - True if content is displayed at top, false otherwise - public string audioId { get; set; } // MyVisit - Audio Identifier + public List audioIds { get; set; } 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) } diff --git a/ManagerService/Controllers/SectionController.cs b/ManagerService/Controllers/SectionController.cs index a5b022f..c599ac3 100644 --- a/ManagerService/Controllers/SectionController.cs +++ b/ManagerService/Controllers/SectionController.cs @@ -46,6 +46,26 @@ namespace ManagerService.Controllers { List
sections = _sectionService.GetAll(instanceId); + + /* CLEAN ARTICLE AUDIO - Init new field AudioIds */ + + /*foreach (var article in sections.Where(s => s.Type == SectionType.Article)) + { + try + { + ArticleDTO articleDTO = JsonConvert.DeserializeObject(article.Data); + List languages = _configuration.GetSection("SupportedLanguages").Get>(); + articleDTO.audioIds = LanguageInit.Init("Audio", languages, true); + article.Data = JsonConvert.SerializeObject(articleDTO); // Include all info from specific section as JSON + + Section sectionModified = _sectionService.Update(article.Id, article); + } + catch (Exception ex) + { + + } + }*/ + return new OkObjectResult(sections.Select(r => r.ToDTO())); } catch (Exception ex) @@ -361,6 +381,7 @@ namespace ManagerService.Controllers ArticleDTO articleDTO = new ArticleDTO(); articleDTO.images = new List(); articleDTO.content = contentArticle; + articleDTO.audioIds = LanguageInit.Init("Audio", languages, true); section.Data = JsonConvert.SerializeObject(articleDTO); // Include all info from specific section as JSON break; diff --git a/ManagerService/Helpers/LanguageInit.cs b/ManagerService/Helpers/LanguageInit.cs index ac77ca8..fbeece7 100644 --- a/ManagerService/Helpers/LanguageInit.cs +++ b/ManagerService/Helpers/LanguageInit.cs @@ -11,13 +11,14 @@ namespace Manager.Helpers { public class LanguageInit { - public static List Init(string label, List languages) + public static List Init(string label, List languages, bool toNull = false) { List translations = new List(); foreach (var language in languages) { - translations.Add(new TranslationDTO() { language = language.ToUpper(), value = $"{language} - {label}" }); + var value = toNull ? null : $"{language} - {label}"; + translations.Add(new TranslationDTO() { language = language.ToUpper(), value = value }); } return translations; }