public IActionResult CadastrarPedido([FromBody] CadastrarPedidoViewModel viewModel) { if (!ModelState.IsValid) { return(BadRequest(this.MensagemErro(ModelState))); } Pedido pedido = new Pedido() { IdPessoa = viewModel.IdPessoa, DataPedido = DateTime.Now, ValorTotal = viewModel.Total }; pedido.Itens = new List <Item>(); foreach (ItemViewModel item in viewModel.Itens) { pedido.Itens.Add(new Item() { IdProduto = item.IdProduto, Quantidade = item.Quantidade, Subtotal = item.Subtotal }); } dbContext.Add(pedido); dbContext.SaveChanges(); return(Ok(this.MensagemSucesso("Pedido finalizado com sucesso."))); }
public ActionResult Cadastrar(CadastrarPedidoViewModel viewModel) { if (!ModelState.IsValid) { return(this.ModelErrors()); } using (DbApplication db = new DbApplication()) { Pedido pedido = new Pedido(); pedido.DataPedido = DateTime.Now; // double total = 0; List <Item> itens = new List <Item>(); //foreach (ItemViewModel item in viewModel.Itens) //{ // Produto produto = db.Produtos.ComId(item.IdProduto).SingleOrDefault(); // if (produto == null) // return this.ErrorMessage("Produto não encontrado."); // Item novoItem = new Item(); // novoItem.IdProduto = item.IdProduto; // novoItem.Quantidade = item.Quantidade; // novoItem.Subtotal = item.Quantidade * produto.Preco; // total += novoItem.Subtotal; //////////// itens.Add(novoItem); ////////////} pedido.Itens = viewModel.Itens; pedido.Total = viewModel.Total; db.RegistrarNovo(pedido); db.Salvar(); } return(this.Message("Pedido cadastrado com sucesso.")); }