public async Task <IActionResult> Edit(int id, [Bind("idPedidoDetalle,cantidad,subTotal,impuesto,total,idPedido")] pedidoDetalle pedidoDetalle)
        {
            if (id != pedidoDetalle.idPedidoDetalle)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(pedidoDetalle);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!pedidoDetalleExists(pedidoDetalle.idPedidoDetalle))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["idPedido"] = new SelectList(_context.pedidos, "idPedido", "observaciones", pedidoDetalle.idPedido);
            return(View(pedidoDetalle));
        }
Beispiel #2
0
        // GET: pedidos/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var pedidoView    = new pedidoView();
            var pedidoDetalle = new pedidoDetalle();


            pedidoView.pedido = await _context.pedidos
                                .Include(p => p.mesa)
                                .Include(p => p.plato)
                                .FirstOrDefaultAsync(m => m.idPedido == id);

            var data = _context.pedidoDetalles.Include(od => od.pedido).Where(od => od.idPedido.Equals(id)).ToList();

            pedidoView.pedidos = data;

            ViewData["Platoo"] = new SelectList(_context.plato, "idPlatos", "Nombre", pedidoDetalle);


            return(View(pedidoView));
        }
        public async Task <IActionResult> Create([Bind("idPedidoDetalle,cantidad,subTotal,impuesto,total,idPedido")] pedidoDetalle pedidoDetalle)
        {
            if (ModelState.IsValid)
            {
                _context.Add(pedidoDetalle);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["idPedido"] = new SelectList(_context.pedidos, "idPedido", "observaciones", pedidoDetalle.idPedido);
            return(View(pedidoDetalle));
        }
        public async Task <IActionResult> AdicionarArticulo([Bind("idPedidoDetalle,cantidad,subTotal,impuesto,total,precio,idPedido,idPlatos")] pedidoDetalle pedidoDetalle)
        {
            if (ModelState.IsValid)
            {
                int id      = pedidoDetalle.idPedido;
                int idPlato = pedidoDetalle.idPlatos;

                plato plato = _context.plato.Find(idPlato);

                decimal precio   = plato.Precio;
                decimal cantidad = pedidoDetalle.cantidad;

                pedidoDetalle.precio = precio;
                pedidoDetalle.total  = cantidad * precio;

                plato.Cantidad += decimal.ToInt32(cantidad);
                _context.Update(plato);

                Models.pedidoDetalle pedidoss = _context.pedidoDetalles.Where(r => r.idPedido == id).FirstOrDefault();


                if (_context.pedidoDetalles.Any(o => o.idPedido == id) == false)
                {
                    _context.Add(pedidoDetalle);
                }
                else
                {
                    pedidoss.cantidad += decimal.ToInt32(cantidad);
                    _context.Update(pedidoss);
                }

                await _context.SaveChangesAsync();

                pedido pedido = _context.pedidos.Find(id);
                pedido.subTotal += cantidad * precio;
                pedido.total    += cantidad * precio;

                _context.Update(pedido);
                _context.SaveChanges();

                return(RedirectToAction("Details", "pedidos", new { id = id }));
            }
            return(View(pedidoDetalle));
        }