199 lines
5.2 KiB
C#
199 lines
5.2 KiB
C#
using gehGassi.Domain.Common;
|
|
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace gehGassi.Domain.Dogs
|
|
{
|
|
/// <summary>
|
|
/// Repräsentiert ein App-User-Abonnement
|
|
/// </summary>
|
|
public class AppUserSubscription
|
|
{
|
|
/// <summary>
|
|
/// Id des Abonnements des App-Users
|
|
/// </summary>
|
|
[Key]
|
|
[Required]
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des App-Users
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string AppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des Abonnements
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(128)]
|
|
public string SubscriptionId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Ist das Abonnement gültig?
|
|
/// </summary>
|
|
[Required]
|
|
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>
|
|
[Required]
|
|
public bool Manual { get; set; }
|
|
|
|
/// <summary>
|
|
/// InAppBilling Purchase Json
|
|
/// </summary>
|
|
public string? InAppBillingPurchaseJson { get; set; }
|
|
|
|
/// <summary>
|
|
/// Platform des Devices
|
|
/// </summary>
|
|
[Required]
|
|
public Platform Platform { get; set; }
|
|
|
|
/// <summary>
|
|
/// Erstellt von?
|
|
/// </summary>
|
|
[MaxLength(256)]
|
|
public string CreatedBy { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde das Abonnement erstellt?
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// App-User-Abonnement mit Namen aufgelöst.
|
|
/// </summary>
|
|
public class AppUserSubscriptionWithNames
|
|
{
|
|
/// <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 AppUserType AppUserType { 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 SubscriptionLength SubscriptionLength { 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 AppMode SubscriptionAppMode { 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 Platform Platform { get; set; }
|
|
|
|
/// <summary>
|
|
/// Erstellt von?
|
|
/// </summary>
|
|
public string CreatedBy { get; set; }
|
|
|
|
/// <summary>
|
|
/// Wann wurde das Abonnement erstellt?
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
}
|