public async Task <ActionResult <Solicitacao> > CriarSolicitacao(Solicitacao solicitacao) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } string userId = HttpContext.User.Identity.Name; Usuario parceiro = _usuarioService.GetById(int.Parse(userId)); if (parceiro == null) { return(BadRequest("Perceiro não encontrado.")); } solicitacao.Parceiro = parceiro; ModuloControleFrete.Models.Produto produto = _mapper.Map <ModuloControleFrete.Models.Produto>(solicitacao.Produto); ModuloControleFrete.Models.Frete frete = await this.getFrete(produto); if (frete == null || !"0".Equals(frete.codeErro)) { return(BadRequest(frete.msgErro)); } solicitacao.Frete.dataPrevista = frete.dataPrevista; solicitacao.Frete.prazoEntregaDias = frete.prazoEntregaDias; solicitacao.Frete.valor = frete.valor; Solicitacao newSolicitacao = _service.CriarSolicitacao(solicitacao); newSolicitacao.Parceiro.PasswordHash = null; newSolicitacao.Parceiro.PasswordSalt = null; return(CreatedAtAction(nameof(getSolicitacaoPorId), new { id = newSolicitacao.Id }, newSolicitacao)); }