public int AddCart(int ItemId) { var aPview = new AgregarProductoView(); var _consultaProducto = _context.Productos.Where(p => p.Id == ItemId).SingleOrDefault(); aPview.Cantidad = 1; if (Session["Cart"] == null) { List <AgregarProductoView> _cestaProductos = new List <AgregarProductoView>(); AddCesta(aPview, _consultaProducto, _cestaProductos); } else { List <AgregarProductoView> _cestaProductos = (List <AgregarProductoView>)Session["Cart"]; if (!(_cestaProductos.Where(l => l.IdProducto == ItemId).Count() >= 1)) { AddCesta(aPview, _consultaProducto, _cestaProductos); } } var lista = (List <AgregarProductoView>)Session["Cart"]; ViewBag.cartCount = lista.Count(); return(lista.Count()); }
private void AddCesta(AgregarProductoView aPview, Producto _consultaProducto, List <AgregarProductoView> _cestaProductos) { aPview.IdProducto = _consultaProducto.Id; aPview.Nombre = _consultaProducto.Nombre; aPview.Precio = _consultaProducto.Precio; _cestaProductos.Add(aPview); Session["Cart"] = _cestaProductos; }
public ActionResult PuntodeVenta() { var view = new AgregarProductoView { DetalleCart = (List <AgregarProductoView>)Session["CartVentas"], }; return(View(view)); }
public PartialViewResult GetCartItems() { var _view = new AgregarProductoView { DetalleCart = (List <AgregarProductoView>)Session["Cart"], }; return(PartialView("_ItemCesta", _view)); }
public ActionResult PuntodeAdquisicion() { var view = new AgregarProductoView { DetalleCart = (List <AgregarProductoView>)Session["CartAdquisicion"], }; return(View(view)); }
private void ActualizarCesta(AgregarProductoView aPview, Producto _consultaProducto, List <AgregarProductoView> _cestaProductos) { aPview.IdProducto = _consultaProducto.Id; aPview.Nombre = _consultaProducto.Nombre; aPview.IdTipoProducto = _consultaProducto.TipoProductoId; _cestaProductos.Add(aPview); Session["CartArriendos"] = _cestaProductos; Session["ConteoArriendos"] = Convert.ToInt32(Session["ConteoArriendos"]) + 1; }
public ActionResult PuntodeAdquisicion(AgregarProductoView aPview) { var _consultaProducto = _context.Productos.Where(p => p.Barcode == aPview.Barcode).SingleOrDefault(); if (_consultaProducto != null) { if (Session["CartAdquisicion"] == null) { List <AgregarProductoView> _cestaProductos = new List <AgregarProductoView>(); ActualizarCesta(aPview, _consultaProducto, _cestaProductos); } else { List <AgregarProductoView> _cestaProductos = (List <AgregarProductoView>)Session["CartAdquisicion"]; var _idPFirstLista = _cestaProductos.FirstOrDefault().IdProducto; var _cProducto = _context.Productos.Where(x => x.Id == _idPFirstLista).Single(); if (_cProducto.TipoProductoId == _consultaProducto.TipoProductoId) //Acteco Diferente { if (_cestaProductos.Where(l => l.Barcode == aPview.Barcode).Count() >= 1) { foreach (var item in _cestaProductos) { if (item.Barcode == aPview.Barcode) { item.Cantidad += aPview.Cantidad; } } } else { ActualizarCesta(aPview, _consultaProducto, _cestaProductos); } } else { ModelState.AddModelError(string.Empty, "Solo puede Ingresar Productos de un mismo tipo"); } } } else { ModelState.AddModelError(string.Empty, "El codigo ingresado no existe"); } aPview.DetalleCart = (List <AgregarProductoView>)Session["CartAdquisicion"]; return(View(aPview)); }
public ActionResult PuntodeArriendo(AgregarProductoView aPview) { aPview.Cantidad = 1; var _consultaProducto = _context.Productos.Where(p => p.Barcode == aPview.Barcode).SingleOrDefault(); if (_consultaProducto != null) { if (!(aPview.Cantidad > _consultaProducto.Inventario.Single().Stock)) { if (Session["CartArriendos"] == null) { List <AgregarProductoView> _cestaProductos = new List <AgregarProductoView>(); ActualizarCesta(aPview, _consultaProducto, _cestaProductos); } else { List <AgregarProductoView> _cestaProductos = (List <AgregarProductoView>)Session["CartArriendos"]; var _idPFirstLista = _cestaProductos.FirstOrDefault().IdProducto; var _cProducto = _context.Productos.Where(x => x.Id == _idPFirstLista).Single(); if (_cProducto.TipoProductoId == _consultaProducto.TipoProductoId) { if (_cestaProductos.Where(l => l.Barcode == aPview.Barcode).Count() >= 1) { foreach (var item in _cestaProductos) { if (item.Barcode == aPview.Barcode) { if ((item.Cantidad + aPview.Cantidad) <= _consultaProducto.Inventario.Single().Stock) { item.Cantidad += aPview.Cantidad; } else { ModelState.AddModelError(string.Empty, "No existe Stock Suficiente del producto: " + _consultaProducto.Nombre); } } } } else { ActualizarCesta(aPview, _consultaProducto, _cestaProductos); } } else { ModelState.AddModelError(string.Empty, "Solo puede Ingresar Productos de un mismo tipo"); } } } else { ModelState.AddModelError(string.Empty, "No existe Stock Suficiente del producto: " + _consultaProducto.Nombre); } } else { ModelState.AddModelError(string.Empty, "El codigo ingresado no existe"); } aPview.DetalleCart = (List <AgregarProductoView>)Session["CartArriendos"]; return(View(aPview)); }