public void ProcessContract(Contrato contract, int months) { double basicQuota = contract.totalValue / months; for (int i = 1; i < months; i++) { DateTime date = contract.Date.AddMonths(i); double updateQuota = basicQuota + _onlinePaymentService.Interest(basicQuota, i); double fullQuota = updateQuota + _onlinePaymentService.PaymentFee(updateQuota); contract.AddList(new Installment(date, fullQuota)); } }