public async Task <IActionResult> Create([Bind("PedidoId,ValorTotal,DataPedido,ClienteId")] Pedido pedido, List <int> ProdutoId) { if (ModelState.IsValid) { //colocar a data do pedido pedido.DataPedido = DateTime.Now.ToString(); _context.Add(pedido); //como está indo no banco, teremos o Id do pedido nessa var pedido await _context.SaveChangesAsync(); //Passaremos por todos os itens selecionados na tela, buscando esses // objetos no banco de dados foreach (var id in ProdutoId) { Produto produto = _context.Produtos.Find(id); produto.PedidoId = pedido.PedidoId; //decrementando a quantidade disponível, já q está sendo add a um pedido produto.QuantidadeDisponivel--; //somando o valor total do pedido pedido.ValorTotal = pedido.ValorTotal + produto.Valor; //o id do pedido foi add ao produto, precisamos registrar essa alteração // no banco de dados _context.Update(produto); //O pedido foi alterado o valor total, logo, passaremos esta informação para o banco _context.Update(pedido); await _context.SaveChangesAsync(); } return(RedirectToAction(nameof(Index))); } ViewData["ClienteId"] = new SelectList(_context.Clientes, "ClienteId", "Nome", pedido.ClienteId); return(View(pedido)); }
public async Task <IActionResult> Create([Bind("ClienteId,Nome,Endereco,Email")] Cliente cliente) { if (ModelState.IsValid) { _context.Add(cliente); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(cliente)); }
public async Task <IActionResult> Create([Bind("ProdutoId,Nome,Valor,Descricao,QuantidadeDisponivel,PedidoId")] Produto produto) { if (ModelState.IsValid) { _context.Add(produto); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["PedidoId"] = new SelectList(_context.Pedidos, "PedidoId", "PedidoId", produto.PedidoId); return(View(produto)); }