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