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()); }
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); }