public ActionResult DeleteConfirmed(int id)
        {
            Detalle_pedido detalle_pedido = db.Detalle_pedido.Find(id);

            db.Detalle_pedido.Remove(detalle_pedido);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        //
        // GET: /DetallePedido/Details/5

        public ActionResult Details(int id = 0)
        {
            Detalle_pedido detalle_pedido = db.Detalle_pedido.Find(id);

            if (detalle_pedido == null)
            {
                return(HttpNotFound());
            }
            return(View(detalle_pedido));
        }
 public ActionResult Edit(Detalle_pedido detalle_pedido)
 {
     if (ModelState.IsValid)
     {
         db.Entry(detalle_pedido).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.producto_id = new SelectList(db.Productos, "producto_id", "nombre", detalle_pedido.producto_id);
     ViewBag.pedido_id   = new SelectList(db.Pedidos, "pedido_id", "estado", detalle_pedido.pedido_id);
     return(View(detalle_pedido));
 }
        //
        // GET: /DetallePedido/Edit/5

        public ActionResult Edit(int id = 0)
        {
            Detalle_pedido detalle_pedido = db.Detalle_pedido.Find(id);

            if (detalle_pedido == null)
            {
                return(HttpNotFound());
            }
            ViewBag.producto_id = new SelectList(db.Productos, "producto_id", "nombre", detalle_pedido.producto_id);
            ViewBag.pedido_id   = new SelectList(db.Pedidos, "pedido_id", "estado", detalle_pedido.pedido_id);
            return(View(detalle_pedido));
        }
        public ActionResult Create(Detalle_pedido detalle_pedido)
        {
            if (ModelState.IsValid)
            {
                db.Detalle_pedido.Add(detalle_pedido);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.producto_id = new SelectList(db.Productos, "producto_id", "nombre", detalle_pedido.producto_id);
            ViewBag.pedido_id   = new SelectList(db.Pedidos, "pedido_id", "estado", detalle_pedido.pedido_id);
            return(View(detalle_pedido));
        }
        //
        // GET: /Pedido/Create
        public ActionResult Create(string superMercado)
        {
            if (Session["carrito" + superMercado] != null && Session["correoUsuario"] != null)
            {
                //Obtener articulos de carrito
                JavaScriptSerializer js = new JavaScriptSerializer();

                string[] sessionCarrito = (string[])Session["carrito" + superMercado];
                string   carritoJson    = String.Join("", sessionCarrito);

                ArticuloCarrito[] carrito = js.Deserialize <ArticuloCarrito[]>(carritoJson);

                float total = 0;
                foreach (var item in carrito)
                {
                    total += item.total;
                }

                //obtener proximo id de pedido
                var rows = db.Detalle_pedido.ToList();

                var nextId = 0;
                if (rows.Count > 0)
                {
                    var lastRow = rows[rows.Count - 1];
                    var lastId  = lastRow.pedido_id;
                    nextId = lastId + 1;
                }
                else
                {
                    nextId++;
                }

                Pedido pedido = new Pedido();
                pedido.pedido_id     = nextId;
                pedido.estado        = "Pendiente";
                pedido.total_precio  = Convert.ToDecimal(total);
                pedido.fecha         = DateTime.Today;
                pedido.usuario_id    = (int)Session["idUsuario"];
                pedido.super_mercado = superMercado;
                db.Pedidos.Add(pedido);

                db.SaveChanges();

                Detalle_pedido detalle;

                for (var i = 1; i < carrito.Length; i++)
                {
                    detalle                   = new Detalle_pedido();
                    detalle.pedido_id         = nextId;
                    detalle.cantidad_producto = Convert.ToInt32(carrito[i].cant);
                    detalle.precio            = Convert.ToDecimal(carrito[i].precio);
                    detalle.sub_total         = Convert.ToDecimal(carrito[i].total);

                    var nombreProducto = carrito[i].nombre;
                    var productoId     = (from p in db.Productos where p.nombre == nombreProducto select p.producto_id).First();
                    detalle.producto_id = productoId;
                    db.Detalle_pedido.Add(detalle);
                }
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }