Ejemplo n.º 1
0
        public async Task <JsonResult> CartAdd(
            [Bind("Id,Quantidade,ProdutoId")] Produto_Pedido produto_Pedido, [Bind("Id,Cliente,Valor,LojaId")] Pedido pedido)
        {
            Estoque itemEstoque = new Estoque();

            itemEstoque = _context.Estoque
                          .Include(m => m.Produto)
                          .Where(m => ((m.LojaId == pedido.LojaId) & (m.ProdutoId == produto_Pedido.ProdutoId))).FirstOrDefault();

            produto_Pedido.PedidoId = pedido.Id;

            Produto_Pedido itemCarrinho = new Produto_Pedido();

            itemCarrinho = _context.Produto_Pedido
                           .Include(m => m.Produto)
                           .Where(m => ((m.PedidoId == pedido.Id) & (m.ProdutoId == produto_Pedido.ProdutoId))).FirstOrDefault();

            if (itemCarrinho != null && produto_Pedido.Quantidade <= itemEstoque.Quantidade)
            {
                if (ModelState.IsValid)
                {
                    itemCarrinho.Quantidade += produto_Pedido.Quantidade;
                    _context.Update(itemCarrinho);
                    await _context.SaveChangesAsync();
                }
                itemEstoque.Quantidade -= produto_Pedido.Quantidade;
                _context.Update(itemEstoque);
                await _context.SaveChangesAsync();
            }

            else if (itemCarrinho == null && produto_Pedido.Quantidade <= itemEstoque.Quantidade)
            {
                if (ModelState.IsValid)
                {
                    _context.Add(produto_Pedido);
                    await _context.SaveChangesAsync();
                }
                itemEstoque.Quantidade -= produto_Pedido.Quantidade;
                _context.Update(itemEstoque);
                await _context.SaveChangesAsync();
            }

            var carrinho = await _context.Produto_Pedido
                           .Include(m => m.Produto)
                           .Where(m => m.PedidoId == produto_Pedido.PedidoId).ToListAsync();

            foreach (var item in carrinho)
            {
                pedido.Valor += item.Produto.Valor * item.Quantidade;
            }

            pedido.Data = DateTime.Now;
            _context.Update(pedido);
            await _context.SaveChangesAsync();

            return(new JsonResult(carrinho));
        }
Ejemplo n.º 2
0
 public async Task <JsonResult> Save([Bind("Id,Cliente,LojaId")] Pedido pedido)
 {
     if (ModelState.IsValid)
     {
         _context.Add(pedido);
         await _context.SaveChangesAsync();
     }
     return(new JsonResult(pedido));
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> Create([Bind("Id,Nome,Valor")] Produto produto)
        {
            if (ModelState.IsValid)
            {
                _context.Add(produto);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(produto));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("Id,Nome,Local")] Loja loja)
        {
            if (ModelState.IsValid)
            {
                _context.Add(loja);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(loja));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Create([Bind("Id,Quantidade,LojaId,ProdutoId")] Estoque estoque)
        {
            if (ModelState.IsValid)
            {
                _context.Add(estoque);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["LojaId"]    = new SelectList(_context.Loja, "Id", "Nome", estoque.LojaId);
            ViewData["ProdutoId"] = new SelectList(_context.Produto, "Id", "Nome", estoque.ProdutoId);
            return(View(estoque));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> Create([Bind("Id,Destino,Valor,PedidoId")] Entrega entrega)
        {
            if (ModelState.IsValid)
            {
                entrega.PedidoId = await _context.Pedido
                                   .Select(m => m.Id).MaxAsync();

                _context.Add(entrega);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PedidoId"] = new SelectList(_context.Pedido, "Id", "Cliente", entrega.PedidoId);
            return(View(entrega));
        }