using System; namespace AccountsDAL.DTO.Reports { public class CollectionProjectionReportDTO { public int VoucherId { get; set; } public string VoucherNumber { get; set; } public DateTime VoucherDate { get; set; } public string ReferenceNumber { get; set; } public DateTime ReferenceDate { get; set; } public string DetailNumber { get; set; } public DateTime DetailDate { get; set; } public DateTime DueDate { get; set; } public int AccountId { get; set; } public string AccountCode { get; set; } public string AccountName { get; set; } public string AddressLine1 { get; set; } public string AddressLine2 { get; set; } public string AddressLine3 { get; set; } public string AddressLine4 { get; set; } public string Address { get; set; } public int ControlAccountId { get; set; } public string ControlAccountCode { get; set; } public string ControlAccountName { get; set; } public int RouteId { get; set; } public string RoutingCode { get; set; } public string RoutingName { get; set; } public string SmCode { get; set; } public string SmName { get; set; } public decimal Amount { get; set; } public decimal Receivable { get; set; } public decimal Payable { get; set; } public string BalanceType { get; set; } public decimal Balance { get; set; } public int AllocationLineId { get; set; } public decimal PercentPending { get; set; } public int NoofBills { get; set; } public decimal TotalBalance { get; set; } public decimal TotalReceivableBalance { get; set; } public decimal TotalPayableBalance { get; set; } public decimal NewSaleDebit { get; set; } public decimal QtrAvg { get; set; } public DateTime? LastCollectionDate { get; set; } public int? LastCollectionDays { get; set; } public decimal OverallAmount { get; set; } public decimal DebitNote { get; set; } public decimal QtrCollAvg { get; set; } public decimal AvgWeekColl { get; set; } public decimal ExpectedWeeks { get; set; } // ── Bidirectional payable-side projection ("projected outflow of funds") ── public decimal QtrPayAvg { get; set; } public decimal ExpectedWeeksToPay { get; set; } // ── Cash-discount-for-early-payment benefit (bidirectional — receivable and payable) ── public decimal? CashDiscountPercentage { get; set; } public decimal CashDiscountAmount { get; set; } } }