Exemplo n.º 1
0
        public List <TipoFinanciamentoDTO> Excluir(TipoFinanciamentoDTO tipoFinanciamentoDTO)
        {
            TipoFinanciamento tipo = new TipoFinanciamento();

            tipo.Id             = tipoFinanciamentoDTO.Id;
            tipo.Descricao      = tipoFinanciamentoDTO.Descricao;
            tipo.PercentualTaxa = tipoFinanciamentoDTO.PercentualTaxa;

            tipoFinanciamentoRepositorio.Excluir(tipo);

            return(Consultar());
        }
Exemplo n.º 2
0
        public CalculoFinanciamentoDTO SolicitarFinanciamento(int codCliente, int tipoFinanciamento, double valorSolicitado, int qdtParcela, DateTime dtaPrimeiroVencto)
        {
            CalculoFinanciamentoDTO calculoFinanciamentoDTO = new CalculoFinanciamentoDTO();
            TipoFinanciamentoDTO    tipoFinanciamentoDTO    = new TipoFinanciamentoDTO();

            tipoFinanciamentoDTO = tipoFinanciamentoRepositorio.ConsultarPorChave(tipoFinanciamento);

            calculoFinanciamentoDTO.Validacoes = Verificar(valorSolicitado, qdtParcela, dtaPrimeiroVencto, tipoFinanciamento);

            if (calculoFinanciamentoDTO.Validacoes.Count > 0)
            {
                calculoFinanciamentoDTO.Status = "Reprovado";
            }
            else
            {
                calculoFinanciamentoDTO.Status = "Aprovado";

                List <ParcelaDTO> parcelasDTO = new List <ParcelaDTO>();

                double   dVlrParcelaBruto = (valorSolicitado / qdtParcela);
                double   dVlrParcelaJuros = (dVlrParcelaBruto * (tipoFinanciamentoDTO.PercentualTaxa / 100));
                DateTime dtaVencimento    = dtaPrimeiroVencto;

                // Gerando as Parcelas
                for (int i = 0; i < qdtParcela; i++)
                {
                    ParcelaDTO parcelaDTO = new ParcelaDTO();

                    parcelaDTO.Id         = 0;
                    parcelaDTO.Numero     = (i + 1);
                    parcelaDTO.Valor      = (dVlrParcelaBruto + dVlrParcelaJuros);
                    parcelaDTO.Vencimento = (i == 0 ? dtaPrimeiroVencto : dtaVencimento);

                    parcelasDTO.Add(parcelaDTO);

                    dtaVencimento.AddMonths(1);
                }

                calculoFinanciamentoDTO.CodCliente         = codCliente;
                calculoFinanciamentoDTO.TipoFinanciamento  = tipoFinanciamento;
                calculoFinanciamentoDTO.QtdeParcelas       = qdtParcela;
                calculoFinanciamentoDTO.DataContratacao    = DateTime.Now;
                calculoFinanciamentoDTO.DataVencimento     = (parcelasDTO).Max(s => s.Vencimento);
                calculoFinanciamentoDTO.TotalFinanciamento = (parcelasDTO).Sum(s => s.Valor);
                calculoFinanciamentoDTO.TotalJuros         = (dVlrParcelaJuros + qdtParcela);
                calculoFinanciamentoDTO.Parcelas           = parcelasDTO;
            }

            return(calculoFinanciamentoDTO);
        }
        public TipoFinanciamentoDTO ConsultarPorChave(int iId)
        {
            TipoFinanciamentoDTO tipoFinanciamentosDTO = (from TipoFinanciamento tipoFinanciamento in bancoDados.TipoFinanciamentoCollection
                                                          where
                                                          tipoFinanciamento.Id == iId
                                                          select new TipoFinanciamentoDTO
            {
                Id = tipoFinanciamento.Id,
                Descricao = tipoFinanciamento.Descricao,
                PercentualTaxa = tipoFinanciamento.PercentualTaxa
            }).FirstOrDefault();

            return(tipoFinanciamentosDTO);
        }