} // constructor public AccountingLoanBalanceRow( SafeReader sr, decimal nEarnedInterest, CustomerStatusChange oLastChange, CustomerStatusChange oCurrent, DateTime oWriteOffDate ) { IsTotal = false; WriteOffTotalBalance = 0; TotalBalance = 0; Transactions = new SortedSet <int>(); LoanCharges = new SortedSet <int>(); AccountingLoanBalanceRawData raw = sr.Fill <AccountingLoanBalanceRawData>(); IssueDate = raw.IssueDate; ClientID = raw.ClientID; LoanID = raw.LoanID; ClientName = raw.ClientName; ClientEmail = raw.ClientEmail; IssuedAmount = raw.IssuedAmount; SetupFee = raw.SetupFee; LoanStatus = raw.LoanStatus; CurrentCustomerStatus = oCurrent.NewStatus; EarnedInterest = nEarnedInterest; CustomerRefNum = raw.CustomerRefNum; LoanRefNum = raw.LoanRefNum; IsFirstLoan = raw.IsFirstLoan; RepaidPrincipal = 0; RepaidInterest = 0; FeesRepaid = 0; EarnedFees = 0; CashPaid = 0; WriteOffEarnedFees = 0; WriteOffCashPaid = 0; WriteOffNonCashPaid = 0; NonCashPaid = 0; if (SetupFee > 0) { IssuedAmount -= SetupFee; } LastInPeriodCustomerStatus = oLastChange.NewStatus; LastStatusChangeDate = oLastChange.ChangeDate; WriteOffDate = oWriteOffDate; Update(null, raw); } // constructor
private void LoadCurrent(SafeReader sr) { m_oCurrent[sr["CustomerID"]] = new CustomerStatusChange { ChangeDate = sr["SetDate"], OldStatus = CustomerStatus.Enabled, NewStatus = ((string)sr["Status"]).ParseCustomerStatus(sr["IsDefault"]), NewIsDefault = sr["NewIsDefault"], OldIsDefault = sr["OldIsDefault"] }; } // LoadCurrent
} // GetWriteOffDate internal void Add(int nCustomerID, CustomerStatusChange csc) { if (Data.ContainsKey(nCustomerID)) { Data[nCustomerID].Add(csc); } else { Data[nCustomerID] = new List <CustomerStatusChange> { csc } }; if ((csc.NewStatus == CustomerStatus.WriteOff) && !WriteOffDate.ContainsKey(nCustomerID)) { WriteOffDate[nCustomerID] = csc.ChangeDate; } } // Add
} // LoadCurrent private void LoadHistoryItem(SafeReader sr) { int nCustomerID = sr["CustomerID"]; var csc = new CustomerStatusChange { ChangeDate = sr["ChangeDate"], OldStatus = ((string)sr["OldStatus"]).ParseCustomerStatus(sr["OldIsDefault"]), NewStatus = ((string)sr["NewStatus"]).ParseCustomerStatus(sr["NewIsDefault"]), NewIsDefault = sr["NewIsDefault"], OldIsDefault = sr["OldIsDefault"] }; if (m_oDateEnd.HasValue && (csc.ChangeDate < m_oDateEnd.Value)) { Data.Add(nCustomerID, csc); } FullData.Add(nCustomerID, csc); } // LoadHistoryItem