157 lines
5.2 KiB
C#
157 lines
5.2 KiB
C#
using ManagerService.DTOs;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace ManagerService.Data
|
|
{
|
|
/// <summary>
|
|
/// Configuration Information
|
|
/// </summary>
|
|
public class Configuration
|
|
{
|
|
[Key]
|
|
[Required]
|
|
/*[BsonId]
|
|
[BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]*/
|
|
public string Id { get; set; }
|
|
|
|
/*[BsonElement("Label")]
|
|
[BsonRequired]*/
|
|
[Required]
|
|
public string Label { get; set; }
|
|
|
|
/*[BsonElement("Title")]
|
|
[BsonRequired]*/
|
|
[Required]
|
|
[Column(TypeName = "jsonb")]
|
|
public List<Translation> 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<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; }
|
|
|
|
/*[BsonElement("InstanceId")]
|
|
[BsonRequired]*/
|
|
[Required]
|
|
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; }
|
|
|
|
/*[BsonElement("IsSectionImageBackground")]*/
|
|
public bool IsSectionImageBackground { get; set; }
|
|
|
|
/*[BsonElement("RoundedValue")]*/
|
|
public int? RoundedValue { get; set; }
|
|
|
|
/*[BsonElement("ScreenPercentageSectionsMainPage")]*/
|
|
public int? ScreenPercentageSectionsMainPage { get; set; }
|
|
|
|
public ConfigurationDTO ToDTO(List<string> sectionIds)
|
|
{
|
|
return new ConfigurationDTO()
|
|
{
|
|
id = Id,
|
|
label = Label,
|
|
title = Title.Select(c => c.ToDTO()).ToList(),
|
|
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,
|
|
isSectionImageBackground = IsSectionImageBackground,
|
|
roundedValue = RoundedValue,
|
|
screenPercentageSectionsMainPage = ScreenPercentageSectionsMainPage,
|
|
sectionIds = sectionIds
|
|
};
|
|
}
|
|
|
|
public ExportConfigurationDTO ToExportDTO(List<SectionDTO> sections, List<ResourceDTO> resources) {
|
|
return new ExportConfigurationDTO()
|
|
{
|
|
id = Id,
|
|
label = Label,
|
|
title= Title.Select(c => c.ToDTO()).ToList(),
|
|
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,
|
|
isSectionImageBackground = IsSectionImageBackground,
|
|
roundedValue = RoundedValue,
|
|
screenPercentageSectionsMainPage = ScreenPercentageSectionsMainPage,
|
|
sectionIds = sections.Select(s => s.id).ToList()
|
|
};
|
|
}
|
|
}
|
|
}
|