using PowderCoating.Core.Enums; namespace PowderCoating.Core.Entities; public class Payment : BaseEntity { public int InvoiceId { get; set; } public decimal Amount { get; set; } public DateTime PaymentDate { get; set; } = DateTime.UtcNow; public PaymentMethod PaymentMethod { get; set; } public string? Reference { get; set; } public string? Notes { get; set; } public string? RecordedById { get; set; } /// /// Bank/checking account the payment is deposited into. /// When null, no specific deposit account is tracked. /// public int? DepositAccountId { get; set; } /// True once this payment has been matched against a bank statement during reconciliation. public bool IsCleared { get; set; } = false; public DateTime? ClearedDate { get; set; } // Navigation public virtual Invoice Invoice { get; set; } = null!; public virtual ApplicationUser? RecordedBy { get; set; } public virtual Account? DepositAccount { get; set; } }