using System; using System.ComponentModel.DataAnnotations; namespace gehGassi.Web.Models { /// /// Viewmodel für das anlegen von Abonnementbuchungen /// public class SubscriptionBookingCreateVm { /// /// Id des App-Users /// [Required(ErrorMessage = "Err_Required")] [MaxLength(128, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "SubscriptionBooking_AppUserId")] public string AppUserId { get; set; } /// /// Name des Appusers /// public string AppUserName { get; set; } /// /// Id des Abonnements /// [Required(ErrorMessage = "Err_Required")] [MaxLength(128, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "SubscriptionBooking_SubscriptionId")] public string SubscriptionId { get; set; } /// /// Name des Abos /// public string SubscriptionName { 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; } /// /// Wann läuft das Abonnement ab? /// [Display(Name = "SubscriptionBooking_ExpirationDate")] public DateTimeOffset? ExpirationDate { get; set; } } /// /// Viewmodel für das Bearbeiten von Abonnementbuchungen /// public class SubscriptionBookingEditVm { /// /// Id des Abonnements des App-Users /// [Required(ErrorMessage = "Err_Required")] public long Id { get; set; } /// /// Id des App-Users /// [Required(ErrorMessage = "Err_Required")] [MaxLength(128, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "SubscriptionBooking_AppUserId")] public string AppUserId { get; set; } /// /// Name des Appusers /// public string AppUserName { get; set; } /// /// Id des Abonnements /// [Required(ErrorMessage = "Err_Required")] [MaxLength(128, ErrorMessage = "Err_StringLength_Max")] [Display(Name = "SubscriptionBooking_SubscriptionId")] public string SubscriptionId { get; set; } /// /// Name des Abos /// public string SubscriptionName { 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; } /// /// Wann läuft das Abonnement ab? /// [Display(Name = "SubscriptionBooking_ExpirationDate")] public DateTimeOffset? ExpirationDate { get; set; } } /// /// Viewmodel für die Anzeige von Abonnementbuchungen /// public class SubscriptionBookingListVm { /// /// Id des Abonnements des App-Users /// public long Id { get; set; } /// /// Id des App-Users /// public string AppUserId { get; set; } /// /// Name des App-Users /// public string AppUserName { get; set; } /// /// Optional - Foto des Benutzers /// public string AppUserPhoto { get; set; } /// /// App user type /// public AppUserTypeVm AppUserType { get; set; } public string AppUserTypeText { get; set; } /// /// Id des Abonnements /// public string SubscriptionId { get; set; } /// /// Code des Abonnements /// public string SubscriptionCode { get; set; } /// /// Dauer des Abonnements /// public SubscriptionLengthVm SubscriptionLength { get; set; } public string SubscriptionLengthText { get; set; } /// /// Preis des Abonnements in Euro /// public decimal SubscriptionPrice { get; set; } /// /// Art des Abonnements - für welchen Benutzer-Typ? /// public AppModeVm SubscriptionAppMode { get; set; } public string SubscriptionAppModeText { get; set; } /// /// Name des Abonnements /// public string SubscriptionName { get; set; } /// /// Zeit in Tagen die als Toleranz bei Ablauf akzeptiert wird /// public int SubscriptionGracePeriodInDays { get; set; } /// /// Ist das Abonnement gültig? /// public bool IsValid { get; set; } /// /// Wann läuft das Abonnement ab? /// public DateTimeOffset? ExpirationDate { get; set; } /// /// Wann läuft das Abonnement ab? Mit Toleranzzeit /// public DateTimeOffset? ExpirationDateWithGrace { get; set; } /// /// Wann wurde das Abonnement zuletzt verlängert? /// public DateTimeOffset? LastRenewalDate { get; set; } /// /// Letzte Aktualisierung /// public DateTimeOffset? LastUpdate { get; set; } /// /// Wurde das Abonnement manuell erstellt? /// public bool Manual { get; set; } /// /// Platform des Devices /// public PlatformVm Platform { get; set; } public string PlatformText { get; set; } /// /// Erstellt von? /// public string CreatedBy { get; set; } /// /// Wann wurde das Abonnement erstellt? /// public DateTimeOffset Created { get; set; } } }