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