using PowderCoating.Core.Enums; namespace PowderCoating.Application.DTOs.Invoice; public class PaymentDtos { public class PaymentDto { public int Id { get; set; } public int InvoiceId { get; set; } public decimal Amount { get; set; } public DateTime PaymentDate { get; set; } public PaymentMethod PaymentMethod { get; set; } public string PaymentMethodDisplay => PaymentMethod switch { PaymentMethod.Cash => "Cash", PaymentMethod.Check => "Check", PaymentMethod.CreditDebitCard => "Credit/Debit Card", PaymentMethod.BankTransferACH => "Bank Transfer / ACH", PaymentMethod.DigitalPayment => "Digital Payment", _ => PaymentMethod.ToString() }; public string? Reference { get; set; } public string? Notes { get; set; } public string? RecordedById { get; set; } public string? RecordedByName { get; set; } public int? DepositAccountId { get; set; } public string? DepositAccountName { get; set; } } public class RecordPaymentDto { public int InvoiceId { get; set; } public decimal Amount { get; set; } public DateTime PaymentDate { get; set; } = DateTime.Today; public PaymentMethod PaymentMethod { get; set; } public string? Reference { get; set; } public string? Notes { get; set; } public int? DepositAccountId { get; set; } } public class EditPaymentDto { public int PaymentId { get; set; } public int InvoiceId { get; set; } public DateTime PaymentDate { get; set; } public PaymentMethod PaymentMethod { get; set; } public string? Reference { get; set; } public string? Notes { get; set; } public int? DepositAccountId { get; set; } } }