using System; using System.ComponentModel.DataAnnotations; using gehGassi.Dto.Common; namespace gehGassi.Dto.Subscriptions { /// /// DTO zum Hinzufügen eines Abonnements /// public class AppUserCreateSubscriptionDto { /// /// Id des AppUsers /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Id des Abonnements /// [Required] [MaxLength(128)] public string SubscriptionId { get; set; } /// /// Sprache des AppUsers /// [Required] [MaxLength(2)] public string Language { get; set; } /// /// InAppBilling Purchase Json /// public string? InAppBillingPurchaseJson { get; set; } /// /// Optinal: Ablaufdatum des Abonnements. wenn gesetzt, wird dieses beim Anlegen verwendet /// public DateTime? ExpirationDateToSet { get; set; } /// /// Plattform für welche das Abonnement gebucht wird /// [Required] public PlatformDto Platform { get; set; } } /// /// DTO zum Wechseln eines Abonnements /// public class AppUserSwitchSubscriptionDto { /// /// Id der Abonnementbuchung /// [Required] public long BookingId { get; set; } /// /// Id des AppUsers /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Id des neuen Abonnements /// [Required] [MaxLength(128)] public string SubscriptionId { get; set; } /// /// Sprache des AppUsers /// [Required] [MaxLength(2)] public string Language { get; set; } } /// /// DTO zum stornieren eines Abonnements /// public class AppUserCancelSubscriptionDto { /// /// Id der Abonnementbuchung /// [Required] public long BookingId { get; set; } /// /// Id des AppUsers /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Sprache des AppUsers /// [Required] [MaxLength(2)] public string Language { get; set; } /// /// Plattform für welche das Abonnement gebucht wird /// [Required] public PlatformDto Platform { get; set; } } /// /// DTO zum erneuern eines Abonnements /// public class AppUserRenewSubscriptionDto { /// /// Id der Abonnementbuchung /// [Required] public long BookingId { get; set; } /// /// Id des AppUsers /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Sprache des AppUsers /// [Required] [MaxLength(2)] public string Language { get; set; } /// /// Plattform für welche das Abonnement gebucht wird /// [Required] public PlatformDto Platform { get; set; } } }