Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }