//
        // GET: /Index/Add/1

        public ActionResult Add(int id, Pedidos pedido)
        {
            Libros libro = (from l in db.Libros
                            where l.Isbn == id
                            select l).First();

            if (libro != null)
            {
               // HashSet<LineasPedido> lineasPedidos=  (HashSet<LineasPedido>) libro.LineasPedido;
                bool encontrado = false;
                foreach (LineasPedido linea in pedido.LineasPedido)
                {
                    if (linea.Libros.Isbn == id)
                    {
                        linea.Cantidad++;
                        encontrado = true;
                    }
                }

                if (!encontrado)
                {
                    LineasPedido nuevaLinea = new LineasPedido();
                    nuevaLinea.Cantidad = 1;
                    nuevaLinea.Libro_Isbn = libro.Isbn;
                    nuevaLinea.Libros = libro;
                    nuevaLinea.Pedidos = pedido;
                    pedido.LineasPedido.Add(nuevaLinea);
                }

            }

            return RedirectToAction("Pedido", "Home", null);
        }
        public object BindModel(ControllerContext cc, ModelBindingContext mbc)
        {
            Pedidos p = (Pedidos)cc.HttpContext.Session[_key];
            if (p == null)
            {
                p = new Pedidos();
                cc.HttpContext.Session[_key] = p;
            }

            return p;
        }
        public ActionResult Create(Pedidos pedidos)
        {
            if (ModelState.IsValid)
            {
                db.Pedidos.Add(pedidos);
                db.SaveChanges();
                return RedirectToAction("Index");  
            }

            return View(pedidos);
        }
        public ActionResult Confirmar(ConfirmarViewModel confirmarVM, Pedidos pedido)
        {
            if (!ModelState.IsValid)
            {
                return View(confirmarVM);
            }

            Pedidos pedidoPersistir = new Pedidos();
            pedidoPersistir.Nombre = confirmarVM.Nombre;
            pedidoPersistir.Direccion = confirmarVM.Direccion;
            pedidoPersistir.Total = 100;
            db.Pedidos.Add(pedidoPersistir);
            db.SaveChanges();

            decimal total = 0;
            foreach (LineasPedido linea in pedido.LineasPedido)
            {

                LineasPedido lp = new LineasPedido();
                lp.Cantidad = linea.Cantidad;

                lp.Libro_Isbn = linea.Libros.Isbn;
                lp.PedidoLineaPedido_LineaPedido_Id = pedidoPersistir.Id;
                db.LineasPedido.Add(lp);
                total += linea.Libros.Precio * linea.Cantidad;
            }

            pedidoPersistir.Total = total;

            // db.Pedidos.Add(pedidoPersistir);
            db.SaveChanges();

            Session.Remove("carrito");

            return View("ConfirmarOk", pedidoPersistir);
        }
        //
        // GET: /Index/Pedido

        public ActionResult Pedido(Pedidos pedido)
        {
            return View(pedido.LineasPedido.ToList());

        }
        public ActionResult Vaciar(Pedidos pedido)
        {
            pedido.LineasPedido.Clear();

            return RedirectToAction("Pedido", "Home", null);
        }