public OurBank GetPersonBank(string NationalCode) { decimal Loan = dc.LoanSelectCommand().Where(x => x.PersonNationalCode == NationalCode).Sum(x => x.Amount); decimal Deposit = dc.DepositSelectCommand().Where(x => x.PersonNationalCode == NationalCode).Sum(x => x.Amount); // TODO better code here decimal PayedInstallements = 0, NonPayedInstallements = 0; foreach (var item in dc.LoanTransactions.Where(x => x.PersonNationalCode == NationalCode)) { PayedInstallements += item.Installements.Where(x => x.IsPayed == true).Sum(x => x.Amount); NonPayedInstallements += item.Installements.Where(x => x.IsPayed == false).Sum(x => x.Amount); } return(new OurBank { Loan = Loan, Deposit = Deposit, PayedInstallements = PayedInstallements, NonPayedInstallements = NonPayedInstallements }); }
public void AutomaticInstallement(Guid LoanTransactionId, int Count) { var Loan = dc.LoanSelectCommand().Where(x => x.Id == LoanTransactionId).FirstOrDefault(); decimal eachOneAmount = (int)(Loan.Amount / Count); DateTime dt = DateTime.Now; for (int i = 0; i < Count; i++) { if (i + 1 == Count) { eachOneAmount = (Loan.Amount - (eachOneAmount * Count)) + eachOneAmount; } if (Count > 1) { dt = dt.AddMonths(1); } dc.InstallementsInsertCommand(Guid.NewGuid(), dt, eachOneAmount, LoanTransactionId); } }
public List <LoanSelectCommandResult> UnPermittedLoanTransactions(string NationalCode) { return(dc.LoanSelectCommand().Where(x => x.PersonNationalCode == NationalCode && x.AdminPermission == false).OrderByDescending(x => x.DateTime).ToList()); }