public ActionResult ActualizarItem(int?id, VentasCarrito reg) { ventasCart = ventasCarrito.SingleOrDefault(s => s.Id_Articulo == id); // Si lo que se requiere supera lo disponible, entonces se indica el error. if (reg.Cantidad > ventasCart.CantidadDisponible) { reg = ventasCarrito.SingleOrDefault(s => s.Id_Articulo == id); TempData["Error"] = "No Hay Suficientes(" + ventasCart.CantidadDisponible.ToString() + ")"; return(View(reg)); } else if (reg.Cantidad < 1) // Si se coloca una cantidad negativa o cero, se indica { reg = ventasCarrito.SingleOrDefault(s => s.Id_Articulo == id); TempData["Error"] = "Cantidad Inválida"; return(View(reg)); } else { if (ventasCart.Id_Articulo != 0) { ventasCart.Cantidad = reg.Cantidad; ventasCart.Total = ventasCart.Cantidad * ventasCart.PrecioUnitarioVenta; CalculaTotales(); // Siempre hacemos refresh de los totales return(RedirectToAction("Carro")); } else { TempData["Error"] = "Error"; } return(View(reg)); } }
// Para actualizar articulo del carrito public ActionResult ActualizarItem(int?id) { if (id == null) { id = 1; } VentasCarrito reg = ventasCarrito.SingleOrDefault(s => s.Id_Articulo == id); return(View(reg)); }
public ActionResult BorrarItem(int?id, VentasCarrito reg) { ventasCart = ventasCarrito.SingleOrDefault(s => s.Id_Articulo == id); if (ventasCart != null) { ventasCarrito.Remove(ventasCart); CalculaTotales(); // Siempre hacemos refresh de los totales return(RedirectToAction("Carro")); } return(View(reg)); }
public ActionResult Carro(int?idArt) //, int? txtCantidad, string BotonParam, string Actualizar, string Borrar, string add_tag) { if (idArt != null) { ventasCart = ventasCarrito.SingleOrDefault(s => s.Id_Articulo == idArt); if (ventasCart == null) { // Es nuevo en el carrito var ArtQuery = (from art in db.InventarioArticulos where art.Id_Articulo == idArt select art).FirstOrDefault(); if (ArtQuery != null && ArtQuery.CantidadDisponible > 0) // Confirmamos Exista y haya disponibilidad { VentasCarrito reg = new VentasCarrito(); reg.Id = 0; reg.Id_Articulo = ArtQuery.Id_Articulo; reg.Descripcion = ArtQuery.Descripcion; reg.CantidadDisponible = int.Parse(ArtQuery.CantidadDisponible.ToString()); reg.Cantidad = 1; reg.PrecioUnitarioVenta = ArtQuery.PrecioUnitarioVenta; reg.Total = reg.PrecioUnitarioVenta * reg.Cantidad; reg.ArtImagen = ArtQuery.ArtImagen; ventasCarrito.Add(reg); } } else { // Si ya esta en el carrito y se vuelve a seleccionar el art. 1 a la cantidad ventasCart.Cantidad++; if (ventasCart.Cantidad > ventasCart.CantidadDisponible) // Si sobrepasa disponibilidad dejamos el maximo disp. { ventasCart.Cantidad = ventasCart.CantidadDisponible; } } } CalculaTotales(); // Siempre hacemos refresh de los totales return(View(ventasCarrito)); }