public ActionResult JsonExcelArticulos(string articulos)
        {
            List <Ent_Articulo_Categoria_Stock> listArtExcel = null;
            Dat_Articulo_Stock stk_articulo = new Dat_Articulo_Stock();

            try
            {
                listArtExcel = new List <Ent_Articulo_Categoria_Stock>();
                listArtExcel = JsonConvert.DeserializeObject <List <Ent_Articulo_Categoria_Stock> >(articulos.ToUpper());
                if (listArtExcel.Where(w => String.IsNullOrEmpty(w.ARTICULO)).ToList().Count > 0)
                {
                    Session[_session_stock_articulo_categoria] = new List <Ent_Articulo_Categoria_Stock>();
                    return(Json(new { estado = 0, resultados = "El Archivo no tiene el formato correcto ó hay campos vacios.\nVerifique el archivo." }));
                }
                else
                {
                    string  str_articulo_listar = "";
                    decimal filas = 0;
                    foreach (var item in listArtExcel)
                    {
                        filas += 1;
                        str_articulo_listar += (item.ARTICULO) + ((filas == listArtExcel.Count)?"":",");
                    }


                    Session[_session_stock_articulo_categoria] = stk_articulo.listar_stock_categoria("", "", str_articulo_listar);
                    return(Json(new { estado = 1, resultados = "ok" }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { estado = 0, resultados = ex.Message }));
            }
        }
        public ActionResult get_articulo_sin_stock()
        {
            string mensaje = "";
            string estado  = "0";
            List <Ent_Articulo_Sin_Stock> art_sin_stk  = null;
            Dat_Articulo_Stock            stk_articulo = new Dat_Articulo_Stock();

            try
            {
                art_sin_stk = stk_articulo.listar_articulo_sinstock();
                if (art_sin_stk.Count == 0)
                {
                    estado  = "0";
                    mensaje = "No hay pedidos para mostrar";
                }
                else
                {
                    estado = "1";
                }
            }
            catch
            {
            }
            Session[_session_pedido_sin_stock] = art_sin_stk;
            return(Json(new { estado = estado, mensaje = mensaje }));
        }
        public ActionResult get_articulo_categoria(string categoria, string tempo)
        {
            Dat_Articulo_Stock stk_articulo = new Dat_Articulo_Stock();
            List <Ent_Articulo_Categoria_Stock> listar_stock = null;

            string mensaje = "";
            string estado  = "0";

            try
            {
                listar_stock = stk_articulo.listar_stock_categoria(categoria, tempo);

                if (listar_stock.Count == 0)
                {
                    estado  = "0";
                    mensaje = "No hay stock disponible";
                }
                else
                {
                    estado  = "1";
                    mensaje = "";
                }

                Session[_session_stock_articulo_categoria] = listar_stock;
            }
            catch
            {
            }

            return(Json(new { estado = estado, mensaje = mensaje }));
        }
        public ActionResult get_articulo(string articulo)
        {
            Dat_Articulo_Stock        stk_articulo    = new Dat_Articulo_Stock();
            List <Ent_Articulo_Stock> listar_articulo = null;
            Ent_Articulo_Info         info_articulo   = null;
            string  mensaje      = "";
            string  estado       = "0";
            decimal total_precio = 0;
            decimal total_costo  = 0;

            try
            {
                info_articulo   = new Ent_Articulo_Info();
                listar_articulo = stk_articulo.listar_stock(articulo, ref info_articulo);

                if (listar_articulo.Count == 0)
                {
                    estado  = "0";
                    mensaje = "No hay stock del articulo ingresado";
                }
                else
                {
                    total_precio = listar_articulo.Where(c => c.id_almacen == "AQ").Sum(t => t.total) * info_articulo.precio;
                    total_costo  = listar_articulo.Where(c => c.id_almacen == "AQ").Sum(t => t.total) * info_articulo.costo;


                    estado  = "1";
                    mensaje = "";
                }

                Session[_session_stock_x_articulo]        = listar_articulo;
                Session[_session_stock_x_articulo_filtro] = listar_articulo.Where(s => s.id_almacen == "AQ").ToList();
            }
            catch
            {
            }

            return(Json(new { estado = estado, mensaje = mensaje, info = info_articulo, total_precio = total_precio, total_costo = total_costo }));
        }
        public ActionResult StockCategoria()
        {
            Ent_Usuario _usuario = (Ent_Usuario)Session[Ent_Constantes.NameSessionUser];

            string actionName     = this.ControllerContext.RouteData.GetRequiredString("action");
            string controllerName = this.ControllerContext.RouteData.GetRequiredString("controller");
            string return_view    = actionName + "|" + controllerName;

            if (_usuario == null)
            {
                return(RedirectToAction("Login", "Control", new { returnUrl = return_view }));
            }
            else
            {
                Dat_Articulo_Stock stk_articulo = new Dat_Articulo_Stock();
                ViewBag.Categoria = stk_articulo.listar_categoria_principal();
                ViewBag.Temporada = stk_articulo.listar_temporada();

                Session[_session_stock_articulo_categoria]       = null;
                Session[_session_stock_articulo_categoria_excel] = null;

                return(View());
            }
        }