Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }