public Pedido AtualizarPedido(AtualizarPedidoRequisicao requisicao, int pedidoId) { ValidarParametrosAtualizarPedido(requisicao, pedidoId); var pedidoDetalhes = new List <PedidoDetalhes>(); var pedidoDetalhesId = 1; foreach (var livro in requisicao.LivrosId) { pedidoDetalhes.Add(new PedidoDetalhes() { Id = pedidoDetalhesId, LivroId = livro, PedidoCabecalhoId = pedidoId }); pedidoDetalhesId += 1; } return(new Pedido() { PedidoCabecalho = new PedidoCabecalho() { Id = pedidoId, StatusPedido = StatusPedido.Aberto, UsuarioNome = requisicao.UsuarioNome }, PedidoDetalhes = pedidoDetalhes }); }
public void ValidarParametrosAtualizarPedido(AtualizarPedidoRequisicao requisicao, int pedidoId) { if (pedidoId <= 0) { throw new BadRequestException(string.Format(Constantes.Erros.PARAMETRO_INVALIDO, nameof(pedidoId))); } if (requisicao.LivrosId == null || requisicao.LivrosId.Count() == 0 || requisicao.LivrosId.Any(l => l <= 0)) { throw new BadRequestException(string.Format(Constantes.Erros.PARAMETRO_INVALIDO, nameof(requisicao.LivrosId))); } if (requisicao.StatusPedido <= 0) { throw new BadRequestException(string.Format(Constantes.Erros.PARAMETRO_INVALIDO, nameof(requisicao.StatusPedido))); } }
public async Task <Pedido> PutPedido(int pedidoId, [FromBody] Usuario usuario) { Cartao cartao = new Cartao { Id = 1, Bandeira = "Visa", NomeProprietario = "José das Graças", MesExpiracao = 8, AnoExpiracao = 23, IdUsuario = 1, CodigoSeguranca = 145 }; Pagamento pagamento = new Pagamento { Id = 1, Valor = 500, Moeda = "BRL", IdUsuario = 1, Cartao = cartao }; var respostaAutenticacao = await _clienteHttp.PostAsJsonAsync(_configuracao.GetSection("Microsservicos:Autenticacao").Value, usuario); var respostaAutenticacaoMensagem = await respostaAutenticacao.Content.ReadAsStringAsync(); if (!respostaAutenticacao.IsSuccessStatusCode) { throw new Exception(respostaAutenticacaoMensagem); } var respostaPagamento = await _clienteHttp.PostAsJsonAsync(_configuracao.GetSection("Microsservicos:Pagamentos").Value, pagamento); var respostaPagamentoMensagem = await respostaPagamento.Content.ReadAsStringAsync(); if (!respostaPagamento.IsSuccessStatusCode) { throw new Exception(respostaPagamentoMensagem); } var respostaAuditoria = await _clienteHttp.PostAsJsonAsync(_configuracao.GetSection("Microsservicos:Auditoria").Value, pagamento); var respostaAuditoriaMensagem = await respostaAuditoria.Content.ReadAsStringAsync(); if (!respostaAuditoria.IsSuccessStatusCode) { throw new Exception(respostaAuditoriaMensagem); } AtualizarPedidoRequisicao requisicao = new AtualizarPedidoRequisicao { StatusPedido = StatusPedido.Realizado, UsuarioNome = "José das Graças", LivrosId = new List <int> { 1, 2, 3, 4, 5 } }; return(_pedidoNegocio.AtualizarPedido(requisicao, pedidoId)); }
public ActionResult <Pedido> Put([FromBody] AtualizarPedidoRequisicao requisicao, int pedidoId) { return(Ok(_pedidoNegocio.AtualizarPedido(requisicao, pedidoId))); }