using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; using gehGassi.Domain.Common; namespace gehGassi.Domain.Payment { /// /// Repräsentiert eine Transaktion für Zahlungen. /// Dies können Einzahlungen, Auszahlungen oder Rückerstattungen sein. /// Eine Sonderform ist Gebühr. Diese geth an gehgassi /// public class PaymentTransaction { /// /// Eindeutige Id /// [Key] [Required] public long Id { get; set; } /// /// Id der Transaktion bei MangoPay /// [Required] [MaxLength(255)] public string TransactionId { get; set; } /// /// Typ der Transaktion /// [Required] public PaymentTransactionType Type { get; set; } /// /// Status der Transaktion /// [Required] public PaymentTransactionStatus Status { get; set; } /// /// Walk auf den sich die Transaktion bezieht /// [MaxLength(128)] public string WalkId { get; set; } /// /// Id des AppUsers der die Zahlung erhält /// [MaxLength(128)] public string TargetAppUserId { get; set; } /// /// Id des Wallets, auf das die Transaktion angewendet wird /// [MaxLength(128)] public string TargetWalletId { get; set; } /// /// Id des AppUsers der die Zahlung veranlasst /// [MaxLength(128)] public string SourceAppUserId { get; set; } /// /// Id des Wallets, von dem die Transaktion ausgeht /// [MaxLength(128)] public string SourceWalletId { get; set; } /// /// Betrag in der kleinsten Einheit der Währung /// Beispiel: 12.60 EUR werden als 1260 übertragen /// [Required] public long Ammount { get; set; } /// /// Betrag der zusätzlich vom Guthaben-Konto verwendet werden muss in der kleinsten Einheit der Währung /// Beispiel: 12.60 EUR werden als 1260 übertragen /// [Required] public long FromCredit { get; set; } /// /// Währung ISO 4217 Code /// [Required] [MaxLength(3)] public string Currency { get; set; } /// /// Fehlermeldung nach MangoPay /// [MaxLength(500)] public string ErrorMessage { get; set; } /// /// FehlerTyp nach MangoPay /// [MaxLength(255)] public string ErrorType { get; set; } /// /// Fehlermeldungen nach MangoPay - Zusatzinformationen /// [MaxLength(1000)] public string ErrorMessages { get; set; } /// /// Womit wurde bezahlt? /// public PayInType? PayInType { get; set; } /// /// Datum an dem die Transaktion erstellt wurde /// public DateTimeOffset Created { get; set; } } }