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