Beispiel #1
0
 public IEnumerable <Parcela> Listar(ParcelaDTO Parcela)
 {
     return(base.Pesquisar(x =>
                           (x.Id == Parcela.Id || !Parcela.Id.HasValue) &&
                           (x.Numero == Parcela.Numero || !Parcela.Numero.HasValue) &&
                           (x.VendaId == Parcela.VendaId || !Parcela.VendaId.HasValue)));
 }
Beispiel #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 List <ParcelaDTO> Excluir(ParcelaDTO parcelaDTO)
        {
            Parcela parcela = new Parcela();

            parcela.Id         = parcelaDTO.Id;
            parcela.Numero     = parcelaDTO.Numero;
            parcela.Valor      = parcelaDTO.Valor;
            parcela.Vencimento = parcelaDTO.Vencimento;
            parcela.Pagamento  = parcelaDTO.Pagamento;

            parcelaRepositorio.Excluir(parcela);

            return(Consultar());
        }
Beispiel #4
0
        public ParcelaDTO ConsultarParcelaTemporaria(int idParcela)
        {
            var parcela = new ParcelaDTO();

            using (var db = new FIPEContratosContext())
            {
                try
                {
                    parcela = new bParcela(db).ConsultarParcelaTemporaria(idParcela);
                }
                catch (Exception ex)
                {
                    new bEmail(db).EnviarEmailTratamentoErro(ex, "ParcelaController-ConsultarParcelaTemporaria");


                    throw ex;
                }

                return(parcela);
            }
        }