using System.ComponentModel.DataAnnotations.Schema; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using gehGassi.Web.Helper; namespace gehGassi.Web.Models { /// /// Viewmodel für eine AppVersion /// public class AppVersionVm { /// /// Id der Appversion /// public int Id { get; set; } /// /// Plattform für die die Version gilt /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppVersion_Platform", Description = "AppVersion_Platform_Desc")] public PlatformVm Platform { get; set; } /// /// Version Major /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppVersion_Major", Description = "AppVersion_Major_Desc")] public int Major { get; set; } /// /// Version Minor /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppVersion_Minor", Description = "AppVersion_Minor_Desc")] public int Minor { get; set; } /// /// Version Build /// [Display(Name = "AppVersion_Build", Description = "AppVersion_Build_Desc")] public int? Build { get; set; } /// /// Version Revision /// [Display(Name = "AppVersion_Revision", Description = "AppVersion_Revision_Desc")] public int? Revision { get; set; } /// /// Version als string /// [Required(ErrorMessage = "Err_Required")] [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppVersion_Version", Description = "AppVersion_Version_Desc")] public string Version { get; set; } /// /// Ist die aktuell verfügbare Version /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppVersion_IsCurrent", Description = "AppVersion_IsCurrent_Desc")] public bool IsCurrent { get; set; } /// /// Ist die Version verpflichtend? /// Muss installiert werden wenn die aktuell installierte Version älter ist /// [Required(ErrorMessage = "Err_Required")] [Display(Name = "AppVersion_IsMandatory", Description = "AppVersion_IsMandatory_Desc")] public bool IsMandatory { get; set; } /// /// Veröffentlichungsdatum /// [Display(Name = "AppVersion_ReleaseDate", Description = "AppVersion_ReleaseDate_Desc")] public DateTimeOffset ReleaseDate { get; set; } /// /// Texte mehrsprachig /// public List TextVms { get; set; } } /// /// Hilfsklasse für das Erfassen Mehrsprachiger Texte für Appversionen. /// Wird so gelöst, damit beliebig viele Sprachen verwendet werden können /// public class AppVersionTextVm { /// /// Id /// [Required(ErrorMessage = "Err_Required")] public int Id { get; set; } /// /// Srache /// [Required(ErrorMessage = "Err_Required")] public string Language { get; set; } /// /// Titel /// [RequiredIfDefaultLanguage("Language", ErrorMessage = "Err_Required")] [MaxLength(100, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "AppVersion_ReleaseTitle", Description = "AppVersion_ReleaseTitle_Desc")] public string ReleaseTitle { get; set; } /// /// Notes /// [RequiredIfDefaultLanguage("Language", ErrorMessage = "Err_Required")] [Display(Name = "AppVersion_ReleaseNotes", Description = "AppVersion_ReleaseNotes_Desc")] public string ReleaseNotes { get; set; } } /// /// Viewmodel für eine AppVersion - Listendarstellung /// public class AppVersionListVm { /// /// Id der Appversion /// public int Id { get; set; } /// /// Plattform für die die Version gilt /// public PlatformVm Platform { get; set; } /// /// Plattform für die die Version gilt /// public string PlatformText { get; set; } /// /// Version Major /// public int Major { get; set; } /// /// Version Minor /// public int Minor { get; set; } /// /// Version Build /// public int? Build { get; set; } /// /// Version Revision /// public int? Revision { get; set; } /// /// Version als string /// public string Version { get; set; } /// /// Ist die aktuell verfügbare Version /// public bool IsCurrent { get; set; } /// /// Ist die Version verpflichtend? /// Muss installiert werden wenn die aktuell installierte Version älter ist /// public bool IsMandatory { get; set; } /// /// Titel des Releases /// public string ReleaseTitle { get; set; } /// /// Veröffentlichungsdatum /// public DateTimeOffset ReleaseDate { get; set; } /// /// Letztes Update /// public DateTimeOffset LastUpdate { get; set; } /// /// Wann erstellt /// public DateTimeOffset Created { get; set; } } }