using Manager.Interfaces.DTO; using MongoDB.Bson.Serialization.Attributes; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Manager.Interfaces.Models { /// /// Configuration Information /// public class Configuration { [BsonId] [BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)] public string Id { get; set; } [BsonElement("Label")] [BsonRequired] public string Label { get; set; } [BsonElement("Title")] [BsonRequired] public List Title { get; set; } [BsonElement("ImageId")] public string ImageId { get; set; } [BsonElement("ImageSource")] public string ImageSource { get; set; } [BsonElement("PrimaryColor")] public string PrimaryColor { get; set; } [BsonElement("SecondaryColor")] public string SecondaryColor { get; set; } [BsonElement("Languages")] public List Languages { get; set; } // fr, en, de, nl => Sélection dans une liste déjà établie dans l'application ! [BsonElement("DateCreation")] public DateTime DateCreation { get; set; } [BsonElement("IsMobile")] public bool IsMobile { get; set; } [BsonElement("IsTablet")] public bool IsTablet { get; set; } [BsonElement("IsOffline")] public bool IsOffline { get; set; } [BsonElement("InstanceId")] [BsonRequired] public string InstanceId { get; set; } [BsonElement("LoaderImageId")] public string LoaderImageId { get; set; } [BsonElement("LoaderImageUrl")] public string LoaderImageUrl { get; set; } [BsonElement("WeatherCity")] public string WeatherCity { get; set; } [BsonElement("WeatherUpdatedDate")] public DateTimeOffset? WeatherUpdatedDate { get; set; } [BsonElement("WeatherResult")] public string WeatherResult { get; set; } [BsonElement("IsDate")] public bool IsDate { get; set; } [BsonElement("IsHour")] public bool IsHour { get; set; } public ConfigurationDTO ToDTO(List sectionIds) { return new ConfigurationDTO() { id = Id, label = Label, title = Title, imageId = ImageId, imageSource = ImageSource, loaderImageId = LoaderImageId, loaderImageUrl = LoaderImageUrl, weatherCity = WeatherCity, weatherUpdatedDate = WeatherUpdatedDate, weatherResult = WeatherResult, dateCreation = DateCreation, primaryColor = PrimaryColor, languages = Languages, secondaryColor = SecondaryColor, isMobile = IsMobile, isTablet = IsTablet, isOffline = IsOffline, instanceId = InstanceId, isDate = IsDate, isHour = IsHour, sectionIds = sectionIds }; } public ExportConfigurationDTO ToExportDTO(List sections, List resources) { return new ExportConfigurationDTO() { id = Id, label = Label, title= Title, imageId = ImageId, imageSource = ImageSource, loaderImageId = LoaderImageId, loaderImageUrl = LoaderImageUrl, weatherCity = WeatherCity, dateCreation = DateCreation, primaryColor = PrimaryColor, languages = Languages, secondaryColor = SecondaryColor, isMobile = IsMobile, isTablet = IsTablet, isOffline = IsOffline, sections = sections, resources = resources, instanceId = InstanceId, isDate = IsDate, isHour = IsHour, sectionIds = sections.Select(s => s.id).ToList() }; } } }