using Manager.DTOs; using ManagerService.DTOs; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; namespace ManagerService.Data.SubSection { /// /// Section agenda /// public class SectionAgenda : Section { [Required] public bool IsOnlineAgenda { get; set; } = true; [Required] [Column(TypeName = "jsonb")] public List AgendaResourceIds { get; set; } // All json files for all languages public MapProvider? AgendaMapProvider { get; set; } // Default = Google [Required] public List EventAgendas { get; set; } public AgendaDTO ToDTO() { return new AgendaDTO() { id = Id, label = Label, title = Title.ToList(), description = Description.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, resourceIds = AgendaResourceIds, agendaMapProvider = AgendaMapProvider, events = EventAgendas.Select(e => e.ToDTO()).ToList(), }; } } }