using gehGassi.Domain.Common; using System; using System.ComponentModel.DataAnnotations; namespace gehGassi.Domain.Dogs { /// /// Repräsentiert ein App-User-Abonnement /// public class AppUserSubscription { /// /// Id des Abonnements des App-Users /// [Key] [Required] public long Id { get; set; } /// /// Id des App-Users /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Id des Abonnements /// [Required] [MaxLength(128)] public string SubscriptionId { get; set; } /// /// Ist das Abonnement gültig? /// [Required] 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? /// [Required] public bool Manual { get; set; } /// /// InAppBilling Purchase Json /// public string? InAppBillingPurchaseJson { get; set; } /// /// Platform des Devices /// [Required] public Platform Platform { get; set; } /// /// Erstellt von? /// [MaxLength(256)] public string CreatedBy { get; set; } /// /// Wann wurde das Abonnement erstellt? /// public DateTimeOffset Created { get; set; } } /// /// App-User-Abonnement mit Namen aufgelöst. /// public class AppUserSubscriptionWithNames { /// /// 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 AppUserType AppUserType { get; set; } /// /// Id des Abonnements /// public string SubscriptionId { get; set; } /// /// Code des Abonnements /// public string SubscriptionCode { get; set; } /// /// Dauer des Abonnements /// public SubscriptionLength SubscriptionLength { get; set; } /// /// Preis des Abonnements in Euro /// public decimal SubscriptionPrice { get; set; } /// /// Art des Abonnements - für welchen Benutzer-Typ? /// public AppMode SubscriptionAppMode { 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 Platform Platform { get; set; } /// /// Erstellt von? /// public string CreatedBy { get; set; } /// /// Wann wurde das Abonnement erstellt? /// public DateTimeOffset Created { get; set; } } }