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; }
}
}