//Elimina una unidad del producto public ActionResult Eliminar1ProductoCarrito(int id) { var listProductos = new List <ProductoCookie>(); HttpCookie MyCookie; MyCookie = Request.Cookies["Carrito"]; listProductos = JsonConvert.DeserializeObject <List <ProductoCookie> >(MyCookie.Value); string idborrar = ""; foreach (var item in listProductos) { if (Convert.ToInt32(item.producto_Id) == id) { item.unidades = Convert.ToString(Convert.ToInt32(item.unidades) - 1); if (Convert.ToInt32(item.unidades) <= 0) { idborrar = item.producto_Id; } } } FunkoPopDDBBEntities db = new FunkoPopDDBBEntities(); ProductoCookie borrar = listProductos.Where(x => x.producto_Id == idborrar).FirstOrDefault(); listProductos.Remove(borrar); if (listProductos.Count() == 0) { return(RedirectToAction("VaciarCarrito", "Carrito")); } else { var json = new JavaScriptSerializer().Serialize(listProductos); MyCookie.Value = json; DateTime now = DateTime.Now; MyCookie.Expires = now.AddHours(1); Response.Cookies.Add(MyCookie); return(RedirectToAction("InicioCarrito", "Carrito")); } }
//Añade productos public ActionResult AñadirProductoACarrito(AppFunkoPop.Models.PRODUCTO productoModel, string unidades) { if (Convert.ToInt32(unidades) > 0) { if (Convert.ToString(Request.Cookies["Carrito"]) != "") { int loop1, loop2; HttpCookie MyCookie; MyCookie = Request.Cookies["Carrito"]; var listProductos = new List <ProductoCookie>(); if (MyCookie.Name == "Carrito") { Boolean comp = false; listProductos = JsonConvert.DeserializeObject <List <ProductoCookie> >(MyCookie.Value); foreach (var item in listProductos) { if (Convert.ToString(productoModel.PRODUCTO_ID) == (item.producto_Id)) { if (productoModel.UD_DISPO < (Convert.ToInt32(item.unidades) + Convert.ToInt32(unidades))) { item.unidades = Convert.ToString(productoModel.UD_DISPO); } else { item.unidades = Convert.ToString(Convert.ToInt32(item.unidades) + Convert.ToInt32(unidades)); } comp = true; } } if (comp == false) { ProductoCookie productoAMeter = new ProductoCookie(); productoAMeter.producto_Id = Convert.ToString(productoModel.PRODUCTO_ID); if (productoModel.UD_DISPO < Convert.ToInt32(unidades)) { productoAMeter.unidades = Convert.ToString(productoModel.UD_DISPO); } else { productoAMeter.unidades = Convert.ToString(unidades); } productoAMeter.unidades = unidades; listProductos.Add(productoAMeter); } var json = new JavaScriptSerializer().Serialize(listProductos); MyCookie.Value = json; DateTime now = DateTime.Now; MyCookie.Expires = now.AddHours(1); Response.Cookies.Add(MyCookie); } } else { HttpCookie MyCookie = new HttpCookie("Carrito"); DateTime now = DateTime.Now; ProductoCookie productoAMeter = new ProductoCookie(); List <ProductoCookie> arrayDeCookies = new List <ProductoCookie>(); productoAMeter.producto_Id = Convert.ToString(productoModel.PRODUCTO_ID); productoAMeter.unidades = unidades; arrayDeCookies.Add(productoAMeter); var json = new JavaScriptSerializer().Serialize(arrayDeCookies); MyCookie.Value = json; MyCookie.Expires = now.AddHours(1); Response.Cookies.Add(MyCookie); } } return(RedirectToAction("InicioCarrito", "Carrito")); }