Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
 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);
 }