public JsonResult VenderProduto(ItemVenda venda)
        {
            // Valida se tem estoque
            ProdutoEmEvento estoque = _context.ProdutoEmEvento.First(pe => pe.Eventos.IdEvento == venda.IdEvento && pe.Produto.IdProduto == venda.IdProduto);

            if (estoque.Quantidade > 0)
            {
                venda.Produto = _context.Produtos.First(p => p.IdProduto == venda.IdProduto);
                venda.Evento  = _context.Eventos.First(e => e.IdEvento == venda.IdEvento);
                // Atualiza valor
                venda.ValorUnit     = venda.Produto.ValorProduto;
                venda.ValorTotal    = venda.ValorUnit * venda.Quantidade;
                venda.Evento.Caixa += venda.ValorTotal;

                // Registra a venda
                _context.ItemVenda.Add(venda);

                // Atualiza o caixa
                _context.Eventos.Update(venda.Evento);

                // Atualiza o estoque
                estoque.Quantidade = estoque.Quantidade - 1;
                _context.ProdutoEmEvento.Update(estoque);
                _context.SaveChanges();
                return(Json(new { codigo = 1, mensagem = "Venda efetuada!" }));
            }
            else
            {
                return(Json(new { codigo = 2, mensagem = "Produto esgotado!" }));
            }
        }
Beispiel #2
0
 public IActionResult AdicionarProdutoEmEventoForm(ProdutoEmEvento prod)
 {
     //prod.IdEvento = prod.Eventos.IdEvento;
     //prod.IdProduto = prod.Produto.IdProduto;
     _context.ProdutoEmEvento.Add(prod);
     _context.SaveChanges();
     return(RedirectToAction("AdicionarProdutoEmEventoForm"));
 }