public CreditoResultadoDTO CalculaJuros(CreditoEntradaDTO creditoEntradaDTO) { CreditoResultadoDTO creditoResultadoDTO = new CreditoResultadoDTO(); if (ValidaCreditoEntrada(creditoEntradaDTO)) { creditoResultadoDTO.Status = "Aprovado"; //Calcular aqui os juros CreditoBLL creditoBLL = new CreditoBLL(); decimal J; decimal i = creditoBLL.ObterTipoCredito(creditoEntradaDTO.TipoId).TaxaJurosMes; int t = creditoEntradaDTO.QtdParcelas; decimal C = creditoEntradaDTO.Valor; J = C * i / 100 * t; // (fórmula dos juros simples) creditoResultadoDTO.ValorDoJuros = J; creditoResultadoDTO.ValorTotalComJuros = creditoEntradaDTO.Valor + J; } else { creditoResultadoDTO.Status = "Recusado"; } return(creditoResultadoDTO); }
public ActionResult Index(CreditoEntradaModel creditoEntradaModel) { CreditoBLL creditoBLL = new CreditoBLL(); if (ModelState.IsValid) { // Fazendo DE/PARA Model -> DTO CreditoEntradaDTO creditoEntradaDTO = new CreditoEntradaDTO(); creditoEntradaDTO.Valor = creditoEntradaModel.Valor; creditoEntradaDTO.TipoId = creditoEntradaModel.TipoId; creditoEntradaDTO.QtdParcelas = creditoEntradaModel.QtdParcelas; creditoEntradaDTO.DtPrimeiroVencimento = creditoEntradaModel.DtPrimeiroVencimento; CreditoResultadoDTO creditoResultadoDTO = creditoBLL.CalculaJuros(creditoEntradaDTO); // Fazendo DE/PARA DTO -> Model CreditoResultadoModel creditoResultadoModel = new CreditoResultadoModel(); creditoResultadoModel.Status = creditoResultadoDTO.Status; creditoResultadoModel.ValorTotalComJuros = creditoResultadoDTO.ValorTotalComJuros; creditoResultadoModel.ValorDoJuros = creditoResultadoDTO.ValorDoJuros; return(View("Resultado", creditoResultadoModel)); } List <SelectListItem> listaTipoCredito = new List <SelectListItem>(); foreach (var item in creditoBLL.ListarTipoCredito()) { listaTipoCredito.Add(new SelectListItem { Value = item.TipoId.ToString(), Text = item.Tipo }); } ViewBag.listaTipoCredito = new SelectList(listaTipoCredito, "Value", "Text"); return(View(creditoEntradaModel)); }
private bool ValidaCreditoEntrada(CreditoEntradaDTO creditoEntradaDTO) { // O valor máximo a ser liberado para qualquer tipo de empréstimo é de R$ 1.000.000,00 if (creditoEntradaDTO.Valor > 1000000) { return(false); } //A quantidade de parcelas máximas é de 72x e a mínima é de 5x if (creditoEntradaDTO.QtdParcelas < 5 || creditoEntradaDTO.QtdParcelas > 72) { return(false); } //Para o crédito de pessoa jurídica, o valor mínimo a ser liberado é de R$ 15.000,00 if (creditoEntradaDTO.TipoId == 3 && creditoEntradaDTO.Valor < 15000) { return(false); } //A data do primeiro vencimento sempre será no mínimo D+15 (Dia atual + 15 dias), e no máximo, D+40 (Dia atual + 40 dias) if (creditoEntradaDTO.DtPrimeiroVencimento.Date < DateTime.Now.AddDays(15).Date || creditoEntradaDTO.DtPrimeiroVencimento.Date > DateTime.Now.AddDays(40).Date) { return(false); } return(true); }