From 33f782346bc7f5cd26dd133e753f8ff6d4d2b14a Mon Sep 17 00:00:00 2001 From: Fransolet Thomas Date: Fri, 17 Feb 2023 16:53:24 +0100 Subject: [PATCH] Add nullable int beaconId + ensure ressource has no duplicate --- Manager.Interfaces/DTO/SectionDTO.cs | 2 +- Manager.Interfaces/Models/Section.cs | 2 +- ManagerService/Controllers/ConfigurationController.cs | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Manager.Interfaces/DTO/SectionDTO.cs b/Manager.Interfaces/DTO/SectionDTO.cs index 3f26447..a8610ba 100644 --- a/Manager.Interfaces/DTO/SectionDTO.cs +++ b/Manager.Interfaces/DTO/SectionDTO.cs @@ -25,6 +25,6 @@ namespace Manager.Interfaces.DTO public string longitude { get; set; } // MyVisit - Use to launch automatic content when current location is near public int? meterZoneGPS { get; set; } // MyVisit - Nbr of meters of the zone to launch content public bool isBeacon { get; set; } // MyVisit - True if section use beacon, false otherwise - public int beaconId { get; set; } // MyVisit - Beacon' identifier + public int? beaconId { get; set; } // MyVisit - Beacon' identifier } } diff --git a/Manager.Interfaces/Models/Section.cs b/Manager.Interfaces/Models/Section.cs index 86b5f20..8ab4283 100644 --- a/Manager.Interfaces/Models/Section.cs +++ b/Manager.Interfaces/Models/Section.cs @@ -69,7 +69,7 @@ namespace Manager.Interfaces.Models public bool IsBeacon { get; set; } [BsonElement("BeaconId")] - public int BeaconId { get; set; } + public int? BeaconId { get; set; } [BsonElement("Latitude")] public string Latitude { get; set; } diff --git a/ManagerService/Controllers/ConfigurationController.cs b/ManagerService/Controllers/ConfigurationController.cs index 0f8be05..306ea30 100644 --- a/ManagerService/Controllers/ConfigurationController.cs +++ b/ManagerService/Controllers/ConfigurationController.cs @@ -382,7 +382,9 @@ namespace ManagerService.Controllers } } - foreach (var audio in articleDTO.audioIds.Where(a => a.language == language)) + // If not a language is used for export in manager, if one is the myvisit app + var audios = language != null ? articleDTO.audioIds.Where(a => a.language == language) : articleDTO.audioIds; + foreach (var audio in audios) { if (audio.value != null) { @@ -636,7 +638,7 @@ namespace ManagerService.Controllers Resource resource = _resourceService.GetById(resourceId); ResourceData resourceData = _resourceDataService.GetByResourceId(resourceId); - if (resource != null && resourceData != null) { + if (resource != null && resourceData != null && !resourceDTOs.Any(r => r.id == resource.Id)) { resourceDTOs.Add(resource.ToDTO(resourceData.Data)); } }