public decimal CalculoMensalDePagamento( ValorEmprestimo valor, decimal taxaJurosAnual, PrazoEmprestimo prazoEmprestimo) { var monthly = (double)taxaJurosAnual / 100 / 12 * (double)valor.EmprestimoValor / (1 - Math.Pow(1 + ((double)taxaJurosAnual / 100 / 12), -prazoEmprestimo.TotalMeses())); return(new decimal(Math.Round(monthly, 2, MidpointRounding.AwayFromZero))); }
public List <ComparacaoMensalDeEmprestimo> ComparacaoMensalDeReembolsos(PrazoEmprestimo prazoEmprestimo) { var calculo = new CalculoPagamentoEmprestimo(); var comparador = new List <ComparacaoMensalDeEmprestimo>(); foreach (var produto in _emprestimoProduto) { decimal reembolso = calculo.CalculoMensalDePagamento(_valorEmprestimo, produto.ObterTaxaJuros(), prazoEmprestimo); comparador.Add(new ComparacaoMensalDeEmprestimo(produto.ObterNomeProduto(), produto.ObterTaxaJuros(), reembolso)); } return(comparador); }