using Manager.DTOs; using ManagerService.DTOs; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; namespace ManagerService.Data.SubSection { /// /// Section article /// public class SectionArticle: Section { [Required] [Column(TypeName = "jsonb")] public List content { get; set; } public bool isContentTop { get; set; } // MyVisit - True if content is displayed at top, false otherwise [Required] [Column(TypeName = "jsonb")] public List audioIds { get; set; } public bool isReadAudioAuto { get; set; } // MyVisit - True for audio play when open the article / false otherwise [Required] public List contents { get; set; } public ArticleDTO ToDTO() { return new ArticleDTO() { id = Id, label = Label, title = Title.OrderBy(t => t.Language).Select(l => l.ToDTO()).ToList(), description = Description.OrderBy(d => d.Language).Select(l => l.ToDTO()).ToList(), order = Order, type = Type, imageId = ImageId, imageSource = ImageSource, configurationId = ConfigurationId, isSubSection = IsSubSection, parentId = ParentId, dateCreation = DateCreation, instanceId = InstanceId, isBeacon = IsBeacon, beaconId = BeaconId, latitude = Latitude, longitude = Longitude, meterZoneGPS = MeterZoneGPS, content = content.OrderBy(t => t.Language).Select(l => l.ToDTO()).ToList(), isContentTop = isContentTop, audioIds = audioIds.Select(a=> a.ToDTO()).ToList(), isReadAudioAuto = isReadAudioAuto, contents = contents.Select(c => c.ToDTO()).ToList(), }; } } }