gehgassi_backend/gehGassi.Dto/Subscriptions/AppUserAddSubscriptionDto.cs

147 lines
3.6 KiB
C#

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