77 lines
2.2 KiB
C#

using Manager.Interfaces.DTO;
using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.Text;
namespace Manager.Interfaces.Models
{
/// <summary>
/// Configuration Information
/// </summary>
public class Configuration
{
[BsonId]
[BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]
public string Id { get; set; }
[BsonElement("Label")]
[BsonRequired]
public string Label { get; set; }
[BsonElement("PrimaryColor")]
public string PrimaryColor { get; set; }
[BsonElement("SecondaryColor")]
public string SecondaryColor { get; set; }
[BsonElement("Languages")]
public List<string> 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; }
public ConfigurationDTO ToDTO()
{
return new ConfigurationDTO()
{
id = Id,
label = Label,
dateCreation = DateCreation,
primaryColor = PrimaryColor,
languages = Languages,
secondaryColor = SecondaryColor,
isMobile = IsMobile,
isTablet = IsTablet,
isOffline = IsOffline
};
}
public ExportConfigurationDTO ToExportDTO(List<SectionDTO> sections, List<ResourceDTO> resources) {
return new ExportConfigurationDTO()
{
id = Id,
label = Label,
dateCreation = DateCreation,
primaryColor = PrimaryColor,
languages = Languages,
secondaryColor = SecondaryColor,
isMobile = IsMobile,
isTablet = IsTablet,
isOffline = IsOffline,
sections = sections,
resources = resources
};
}
}
}