using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassi.Dto.Common; namespace gehGassi.Dto.Vouchers { /// /// DTO zum Überprüfen eines Gutscheincodes /// public class CheckVoucherCodeDto { /// /// Manueller Gutscheincode /// [Required] [MaxLength(14)] public string Code { get; set; } /// /// Id des AppUsers /// [Required] [MaxLength(128)] public string AppUserId { get; set; } } /// /// Dto für die Antwort auf die Überprüfung eines Gutscheincodes /// public class CheckVoucherCodeResultDto { /// /// Id des Gutscheins /// public string VoucherId { get; set; } /// /// Id der Kampagne /// public string VoucherCampaignId { get; set; } /// /// Typ der Kampagne - Rabattgutschein oder Wertgutschein /// public VoucherCampaignTypeDto CampaignType { get; set; } /// /// Wert des Gutscheins /// public decimal VoucherAmmount { get; set; } /// /// Ergebnis der Validierung /// public VoucherValidationResultDto ValidationResult { get; set; } } /// /// DTO zum abfragen eines Gutschein-Codes via QR-Code /// public class GetVoucherByQrCodeDto { /// /// QR Gutscheincode /// [Required] [MaxLength(32)] public string QrCode { get; set; } } /// /// DTO zum abfragen eines Gutschein-Codes via QR-Code /// public class VoucherByQrCodeResultDto { /// /// Existiert ein Code für den QR-Code /// public bool Exists { get; set; } /// /// Code des Gutscheins /// public string Code { get; set; } } /// /// DTO zum Reservieren eines Gutscheins /// public class ReserveVoucherDto { /// /// Id des Gutscheins /// [Required] [MaxLength(128)] public string VoucherId { get; set; } /// /// Manueller Gutscheincode /// [Required] [MaxLength(14)] public string Code { get; set; } /// /// Id des AppUsers /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Id des Walks /// [Required] [MaxLength(128)] public string WalkId { get; set; } /// /// Betrag der reserviert werden soll. Muss kleiner oder gleich dem Gutscheinwert sein /// [Required] public decimal Ammount { get; set; } } /// /// DTO für die Antwort auf die Reservierung eines Gutscheins /// public class ReserveVoucherResultDto { /// /// Erfolgreich reserviert /// public bool Success { get; set; } /// /// Id der Reservierung. -1 wenn nicht erfolgreich /// public long VoucherUsageId { get; set; } /// /// Ergebnis der Validierung /// public VoucherValidationResultDto ValidationResult { get; set; } /// /// Geldtransfer fehlgeschlagen /// public bool TransferFailed { get; set; } /// /// Gutschein nicht gefunden /// public bool VoucherNotFound { get; set; } /// /// Kampagne nicht gefunden /// public bool CampaignNotFound { get; set; } /// /// Kunde nicht gefunden /// public bool CustomerNotFound { get; set; } } /// /// DTO zum Stornieren eines Gutscheins, egal ob reserviert oder nicht /// public class CancelVoucherDto { /// /// Id des Gutscheins /// [Required] [MaxLength(128)] public string VoucherId { get; set; } /// /// Id des AppUsers /// [Required] [MaxLength(128)] public string AppUserId { get; set; } /// /// Id des Walks /// [Required] [MaxLength(128)] public string WalkId { get; set; } } }