public void ProcessContract(Contract contract, int months) { for (int i = 1; i <= months; i++) { double amount = contract.TotalValue / months; amount += _paymentService.Interest(amount, i); amount += _paymentService.PaymentFee(amount); contract.AddInstallment(new Installment(contract.Date.AddMonths(i), amount)); } }
public void ProcessContract(Contract contract, int months) { double basicQuota = contract.totalValue / months; for (int i = 1; i <= months; i++) { DateTime date = contract.date.AddMonths(i); double updatedQuota = basicQuota + _onlinePaymentService.Interest(basicQuota, i); double fullQuota = updatedQuota + _onlinePaymentService.PaymentFee(updatedQuota); contract.AddInstallment(new Installment(date, fullQuota)); } }