private bool isPaid(CreditPaymentPlanItem plannedPayment) { var isPaidMainSum = plannedPayment.MainSum <= plannedPayment.CreditPayments.Sum(x => x.MainSum) && plannedPayment.PercentSum == plannedPayment.CreditPayments.Sum(x => x.PercentSum); var isPaidDebtSum = true; if (plannedPayment.Debt != null) { isPaidDebtSum = plannedPayment.Debt.MainSum == plannedPayment.CreditPayments.Sum(x => x.DelayMainSum) && plannedPayment.Debt.PercentSum == plannedPayment.CreditPayments.Sum(x => x.DelayPercentSum); } return(isPaidMainSum && isPaidDebtSum); }
private CreditPayment CalculatePayment(CreditPaymentPlanItem plannedPayment, double sum) { var mainSum = 0.0; var mainDebtSum = 0.0; var percentSum = 0.0; var percentDebtSum = 0.0; var remainderMainSum = plannedPayment.MainSum - plannedPayment.CreditPayments.Sum(x => x.MainSum); CalculateSum(remainderMainSum, out mainSum, ref sum); if (plannedPayment.Debt != null) { var remainderMainDebtSum = plannedPayment.Debt.MainSum - plannedPayment.CreditPayments.Sum(x => x.DelayMainSum); CalculateSum(remainderMainDebtSum, out mainDebtSum, ref sum); } var remainderPercentSum = plannedPayment.PercentSum - plannedPayment.CreditPayments.Sum(x => x.PercentSum); CalculateSum(remainderPercentSum, out percentSum, ref sum); if (plannedPayment.Debt != null) { var remainderPercentDebtSum = plannedPayment.Debt.PercentSum - plannedPayment.CreditPayments.Sum(x => x.DelayPercentSum); CalculateSum(remainderPercentDebtSum, out percentDebtSum, ref sum); } return(new CreditPayment() { MainSum = mainSum, DelayMainSum = mainDebtSum, PercentSum = percentSum, DelayPercentSum = percentDebtSum, CreditPaymentPlanItemId = plannedPayment.Id, Currency = Currency.Blr, DateTime = GlobalValues.BankDateTime }); }