private async Task <ModuloControleFrete.Models.Frete> getFrete(ModuloControleFrete.Models.Produto produto) { produto.nCdEmpresa = String.Empty; produto.sCdAvisoRecebimento = "N"; produto.sDsSenha = String.Empty; produto.nCdFormato = 1; // caixa produto.nCdServico = "40010"; ModuloControleFrete.Models.Frete frete = await _freteService.GetFreteAsyncc(produto); if (frete != null && "0".Equals(frete.codeErro)) { frete.dataPrevista = DateTime.Now; frete.dataPrevista = frete.dataPrevista.AddDays(frete.prazoEntregaDias); frete.Id = Guid.NewGuid().ToString(); return(frete); } else { return(frete); } }
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)); }