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