public async Task <ActionResult <PedidoViewModel> > Adicionar(PedidoViewModel PedidoViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await _pedidoService.Adicionar(_mapper.Map <Pedido>(PedidoViewModel, Tratamento));

            return(CustomResponse(PedidoViewModel));
        }
예제 #2
0
        public async Task <ActionResult <PedidoDto> > Adicionar([FromBody] PedidoDto pedido)
        {
            if (!ModelState.IsValid)
            {
                return(CustomResponse(ModelState));
            }

            await PedidoService.Adicionar(pedido);

            return(Created("Adicionar", pedido));
        }
        public string Incluir(PedidoClienteDTO pedidoCliente, string idCliente)
        {
            List <ProdutoPedido> listProdutoPedido = new List <ProdutoPedido>();


            var clienteResult = _clienteService.ObterPorIdAsync(idCliente);

            if (clienteResult.Result == null)
            {
                throw new BusinessException("Cliente não localizado");
            }

            var idPedido = Guid.NewGuid().ToString();
            var pedido   = (new Pedido {
                ClienteId = idCliente, Data_cadastro = DateTime.Today, Id = idPedido, Status_entrega = "Pendente"
            });

            if (listProdutoPedido.Count > 0)
            {
                throw new BusinessException("Nenhum produto foi informado");
            }

            foreach (var produto in pedidoCliente.Produto)
            {
                var produtoResult = _produtoService.ObterPorIdAsync(produto.Id);
                if (produtoResult.Result == null)
                {
                    throw new BusinessException("Produto não localizado");
                }

                listProdutoPedido.Add(new ProdutoPedido {
                    PedidoId = idPedido, ProdutoId = produto.Id
                });
            }
            var retorno = _pedidoService.Adicionar(pedido);

            _produtoPedidoService.AdicionarLista(listProdutoPedido);

            return(pedidoCliente.ClienteId);
        }