예제 #1
0
        public ActionResult Buy(string dir, CarritoPedidos carrito)
        {
            string  userEmail = User.Identity.GetUserName();
            Pedidos pedido    = new Pedidos();
            double? total     = 0.0;

            carrito.ForEach(product =>
            {
                Productos productDb = db.Productos.Find(product.Id);
                pedido.Productos.Add(productDb);
                productDb.Cantidad -= 1;
                total += productDb.Precio;
                db.Entry(productDb).State = EntityState.Modified;
            });
            pedido.Cliente   = userEmail;
            pedido.Factura   = total;
            pedido.Direccion = dir;
            pedido.Fecha     = DateTime.Now;

            db.Pedidos.Add(pedido);
            db.SaveChanges();
            carrito.Clear();

            return(RedirectToAction("Index", "Pedidos"));
        }
예제 #2
0
        public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
        {
            CarritoPedidos cart = (CarritoPedidos)controllerContext.HttpContext.Session["KEY"];

            if (cart == null)
            {
                cart = new CarritoPedidos();
                controllerContext.HttpContext.Session["KEY"] = cart;
            }
            return(cart);
        }
예제 #3
0
        public ActionResult AddToCart(CarritoPedidos pedido, int id)
        {
            int numProds = 0;

            pedido.ForEach(prod =>
            {
                if (prod.Id == id)
                {
                    numProds++;
                }
            });
            Peliculas peliculaEncontrada = db.Peliculas.Find(id);

            if (numProds < peliculaEncontrada.Stock)
            {
                pedido.Add(db.Peliculas.Find(id));
            }

            return(RedirectToAction("Index"));
        }
예제 #4
0
        public ActionResult AddToCart(CarritoPedidos pedido, int id)
        {
            int numProds = 0;

            pedido.ForEach(prod =>
            {
                if (prod.Id == id)
                {
                    numProds++;
                }
            });
            Productos selectedProduct = db.Productos.Find(id);

            if (numProds < selectedProduct.Cantidad)
            {
                pedido.Add(db.Productos.Find(id));
            }

            return(RedirectToAction("Index"));
        }
예제 #5
0
 public ActionResult Delete(CarritoPedidos pedido, int id)
 {
     pedido.Remove(pedido.Find(item => item.Id == id));
     return(RedirectToAction("Index"));
 }
예제 #6
0
 public ActionResult Index(CarritoPedidos cart)
 {
     return(View(cart));
 }