using System.ComponentModel.DataAnnotations; using gehGassi.Domain.Base; using gehGassi.Domain.Common; namespace gehGassi.Domain.Payment { /// /// Repräsentiert eine Transaktionsgebühr, die vom System berechnet wird und vom Kunden zu tragen ist. /// public class TransactionFee : SyncEntity, IAuditable { /// /// Zahlungsmethode /// [Required] public PayInType PayInType { get; set; } /// /// Prozent /// [Required] [Range(0.0,100.0)] public decimal Percent { get; set; } /// /// Fixer Betrag /// [Required] [Range(0.0, 100000.0)] public decimal Fixed { 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 "TransactionFees"; } public AuditableOptions Options() { return AuditableOptions.Create | AuditableOptions.Edit | AuditableOptions.Delete; } #endregion } }