using PowderCoating.Core.Enums; namespace PowderCoating.Core.Entities; public class Deposit : BaseEntity { public string ReceiptNumber { get; set; } = string.Empty; public int CustomerId { get; set; } public int? JobId { get; set; } public int? QuoteId { get; set; } public decimal Amount { get; set; } public PaymentMethod PaymentMethod { get; set; } public DateTime ReceivedDate { get; set; } = DateTime.UtcNow; public string? Reference { get; set; } public string? Notes { get; set; } public string? RecordedById { get; set; } /// Bank/checking account this deposit was deposited into. Set at recording time /// so the Trial Balance can immediately debit the correct bank account. public int? DepositAccountId { get; set; } // Applied to invoice when invoice is created public int? AppliedToInvoiceId { get; set; } public DateTime? AppliedDate { get; set; } // Navigation public virtual Customer Customer { get; set; } = null!; public virtual Job? Job { get; set; } public virtual Quote? Quote { get; set; } public virtual Invoice? AppliedToInvoice { get; set; } public virtual ApplicationUser? RecordedBy { get; set; } }