using gehGassi.Domain.Base; using gehGassi.Domain.Common; using System.ComponentModel.DataAnnotations; namespace gehGassi.Domain.Vouchers { /// /// Repräsentiert einen Gutschein /// public class Voucher : SyncEntity, IAuditable { /// /// Id der Kampagne /// [Required] [MaxLength(128)] public string VoucherCampaignId { get; set; } /// /// Code des Gutscheins der mauell eingegeben werden kann /// [Required] [MaxLength(128)] public string Code { get; set; } /// /// QR-Code des Gutscheins /// [Required] [MaxLength(128)] public string QrCode { get; set; } /// /// Wie oft wurde der Gutschein verwendet /// [Required] public int UsedCount { get; set; } /// /// Wert für einen Gutschein /// [Required] public decimal VoucherAmmount { get; set; } /// /// Ist der Gutschein gültig /// [Required] public bool IsValid { get; set; } #region IAuditable /// /// Gibt den eindeutigen Key für die Entität zurück; /// Hier als String gelöst, weil damit auch kombinierte Schlüssel möglich sind. /// /// Eindeutiger Key public string AuditKey() { return Id.ToString(); } /// /// Gibt den Objektnamen bzw. die Tabelle der Entität zurück /// /// Objektnamen public string AuditTable() { return "Vouchers"; } public AuditableOptions Options() { return AuditableOptions.Create | AuditableOptions.Edit | AuditableOptions.Delete; } #endregion } }