public ActionResult BusquedaArticulo(string term) { var articulos = _articulosServicios.GetByNameOrCode(term); var articulo = (from obj in articulos select new { Id = obj.Id, Nombre = obj.Nombre + " (" + obj.Codigo + ")", Codigo = obj.Codigo }); return(Json(articulo, JsonRequestBehavior.AllowGet)); }
public ActionResult AgregarArticulo(VentasAgregarViewModel aVM, string articulo) { if (aVM.ArticuloIdAgregar != 0) { if (articulo != "" && articulo != null) { var art = _articulosServicios.GetByNameOrCode(articulo); aVM.ArticuloIdAgregar = art.FirstOrDefault().Id; //Int64.Parse(articulo); } } if (ModelState.IsValid) { if (System.Web.HttpContext.Current.Session["SaldoAFavor"] != null) { aVM.SaldoAFavor = decimal.Parse(System.Web.HttpContext.Current.Session["SaldoAFavor"].ToString()); } //VentasAgregarViewModel aVM = new VentasAgregarViewModel(); if (aVM.ArticuloIdAgregar == 0) { var items = System.Web.HttpContext.Current.Session["ListaItemsVentaActual"]; aVM.Items = (List <VentaItem>)items; try { if (aVM.Items.Count < 1) { ViewBag.Error = "No pudo agregarse el artículo, vuelva a intentarlo."; } } catch (Exception ex) { ViewBag.Error = "No pudo agregarse el artículo, vuelva a intentarlo."; aVM.Items = new List <VentaItem>(); } } else { decimal cantStock = _stockArticuloSucursalServicios.GetStock(aVM.ArticuloIdAgregar, sucID); if (cantStock > 0) { if (aVM.Items.Any(a => a.ArticuloID == aVM.ArticuloIdAgregar)) { ModelState.Clear(); var cantActual = aVM.Items.Find(a => a.ArticuloID == aVM.ArticuloIdAgregar).Cantidad; if (cantActual >= cantStock) { ViewBag.Error = "No hay stock suficiente para el artículo seleccionado."; } else { aVM.Items.Find(a => a.ArticuloID == aVM.ArticuloIdAgregar).Cantidad = cantActual + 1; } aVM.ArticuloIdAgregar = 0; } else { aVM.Items.Add(_ventaItemsServicios.AgregarArticuloEnVenta(aVM.ArticuloIdAgregar)); ModelState.Clear(); aVM.ArticuloIdAgregar = 0; } System.Web.HttpContext.Current.Session["ListaItemsVentaActual"] = aVM.Items; } else { ViewBag.Error = "No hay stock suficiente para el artículo seleccionado."; } } } else { ViewBag.Error = "No pudo agregarse el artículo, vuelva a intentarlo."; } return(View("Agregar", aVM)); }
public ActionResult AgregarArticulo(int?articuloID, AsignarStockViewModel AsignarVM, string articulo) { ViewBag.Sucursales = _sucursalesServicios.GetAll(); if (AsignarVM == null) { AsignarVM = new AsignarStockViewModel(); } if (ModelState.IsValid) { int artID = 0; if (articuloID == 0) { try { if (articulo != "" && articulo != null) { artID = _articulosServicios.GetByNameOrCode(articulo).First().Id; } else { artID = int.Parse(articuloID.ToString()); } } catch (Exception ex) { } } else { artID = int.Parse(articuloID.ToString()); } if (artID == 0) { ViewBag.Error = "No pudo agregarse el artículo, vuelva a intentarlo."; } else { var lista = new List <LineaAsignarStockViewModel>(); try { List <LineaAsignarStockViewModel> items = (List <LineaAsignarStockViewModel>)Session["listaStock"]; lista.AddRange(items); } catch { List <LineaAsignarStockViewModel> items = new List <LineaAsignarStockViewModel>(); } if (lista.Any(a => a.ArticuloID == artID)) { ViewBag.Error = "El artículo ya se encuentra en la lista."; AsignarVM.ListaArticulosAsignarStock = lista; } else { LineaAsignarStockViewModel item = new LineaAsignarStockViewModel(); item.Articulo = _articulosServicios.GetOne(artID); item.ArticuloID = item.Articulo.Id; item.StockArticuloSucursal = MapearStockArticuloSucursales(item.Articulo); lista.Add(item); AsignarVM.ListaArticulosAsignarStock = lista; Session["listaStock"] = lista; } } } else { ViewBag.Error = "No pudo agregarse el artículo, vuelva a intentarlo."; } return(PartialView("_listaArticulosStock", AsignarVM.ListaArticulosAsignarStock)); }