public static SolicitacaoCredito MapToEntity(this SolicitacaoCreditoDTO dto)
        {
            SolicitacaoCredito entity = new SolicitacaoCredito
            {
                DataPrimeiroVencimento = dto.DataPrimeiroVencimento,
                QtdeParcelas           = dto.QtdeParcelas,
                TipoCredito            = dto.TipoCredito,
                ValorCredito           = dto.ValorCredito
            };

            return(entity);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> SolicitarCredito([FromBody] SolicitacaoCreditoDTO model)
        {
            try
            {
                SolicitacaoCredito credito = model.MapToEntity();

                LinhaCredito linhaCredito = await _uow.LinhasCreditos.GetByIdAsync(credito.TipoCredito);

                credito.PercentualTaxa = linhaCredito.PorcentoMes > 0 ? linhaCredito.PorcentoMes : linhaCredito.PorcentoAno;


                SolicitacaoCreditoStatus statusSolicitacao = null;

                if (credito.TipoCredito == 1)
                {
                    statusSolicitacao = credito.ProcessarSolicitacaoCreditoDireto();
                }
                else if (credito.TipoCredito == 2)
                {
                    statusSolicitacao = credito.ProcessarSolicitacaoCreditoConsignado();
                }
                else if (credito.TipoCredito == 3)
                {
                    statusSolicitacao = credito.ProcessarSolicitacaoCreditoPessoaJuridica();
                }
                else if (credito.TipoCredito == 4)
                {
                    statusSolicitacao = credito.ProcessarSolicitacaoCreditoPessoaFisica();
                }
                else if (credito.TipoCredito == 5)
                {
                    statusSolicitacao = credito.ProcessarSolicitacaoCreditoImobiliario();
                }

                return(Ok(new ApiOkResponse(statusSolicitacao)
                {
                    Message = statusSolicitacao.StatusCredito
                }));
            }
            catch
            {
                return(BadRequest(new ApiBadRequestResponse(new List <string> {
                    "Erro ao tentar solicitar o crédito"
                })));
            }
        }