コード例 #1
0
        // GET: Inventario
        public ActionResult Inventario(string orden, int?pagina, string busqueda)
        {
            ViewBag.OrdenActual = orden;
            ViewBag.Compania    = String.IsNullOrEmpty(orden) ? "compania_desc" : "";
            ViewBag.Estacion    = (orden == "estacion_asc") ? "estacion_desc" : "estacion_asc";
            ViewBag.Tipo        = (orden == "tipo_asc") ? "tipo_desc" : "tipo_asc";
            ViewBag.Responsable = (orden == "responsable_asc") ? "responsable_desc" : "responsable_asc";
            ViewBag.Descripcion = (orden == "descrip_asc") ? "descrip_desc" : "descrip_asc";


            //se obtiene el usuario loggeado
            var                 user    = UserManager.FindById(User.Identity.GetUserId());
            Boolean             isAdmin = User.IsInRole("superadmin") ? true : false;
            IQueryable <ACTIVO> aCTIVOS = ACTIVO.busquedaSimple(busqueda, user.EstacionID, isAdmin);

            switch (orden)
            {
            case "compania_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.V_ANFITRIONA.SIGLAS);
                break;

            case "estacion_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.V_ESTACION.SIGLAS);
                break;

            case "estacion_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.V_ESTACION.SIGLAS);
                break;

            case "tipo_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.TIPOS_ACTIVOS.NOMBRE);
                break;

            case "tipo_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.TIPOS_ACTIVOS.NOMBRE);
                break;

            case "responsable_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.V_EMPLEADOS.NOMBRE);
                break;

            case "responsable_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.V_EMPLEADOS.NOMBRE);
                break;

            case "descrip_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.DESCRIPCION);
                break;

            case "descrip_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.DESCRIPCION);
                break;

            default:
                aCTIVOS = aCTIVOS.OrderBy(a => a.V_ANFITRIONA.SIGLAS);
                break;
            }

            int tamano_pagina = 20;
            int num_pagina    = (pagina ?? 1);

            return(View(aCTIVOS.ToPagedList(num_pagina, tamano_pagina)));
        }
コード例 #2
0
        public ActionResult Index(string orden, string filtro, string busqueda, string V_PROVEEDORIDPROVEEDOR, string TIPO_ACTIVOID, string V_ANFITRIONAID, string TIPO_TRANSACCIONID, string ESTADO_ACTIVOID, string V_ESTACIONID, string fecha_antes, string fecha_despues, string usuario, string fabricante, int?pagina)
        {
            ViewBag.OrdenActual = orden;
            ViewBag.Compania    = String.IsNullOrEmpty(orden) ? "compania_desc" : "";
            ViewBag.Estacion    = (orden == "estacion_asc") ? "estacion_desc" : "estacion_asc";
            ViewBag.Tipo        = (orden == "tipo_asc") ? "tipo_desc" : "tipo_asc";
            ViewBag.Responsable = (orden == "responsable_asc") ? "responsable_desc" : "responsable_asc";
            ViewBag.Descripcion = (orden == "descrip_asc") ? "descrip_desc" : "descrip_asc";
            //se obtiene el usuario loggeado
            var     user    = UserManager.FindById(User.Identity.GetUserId());
            Boolean isAdmin = User.IsInRole("superadmin") ? true : false;

            // Paginación
            if (busqueda != null)
            {
                pagina = 1;
            }
            else
            {
                busqueda = filtro;
            }

            ViewBag.FiltroActual = busqueda;

            // Busqueda con base en los parametros que ingresa el usuario
            #region Busqueda simple
            IQueryable <ACTIVO> aCTIVOS = ACTIVO.busquedaSimple(busqueda, user.EstacionID, isAdmin); //OJO
            #endregion

            #region Busqueda avanzada

            // Para las opciones de busqueda avanzada
            ViewBag.TIPO_TRANSACCIONID     = new SelectList(db.TIPOS_TRANSACCIONES, "ID", "NOMBRE");
            ViewBag.TIPO_ACTIVOID          = new SelectList(db.TIPOS_ACTIVOS, "ID", "NOMBRE");
            ViewBag.V_PROVEEDORIDPROVEEDOR = new SelectList(db.V_PROVEEDOR, "IDPROVEEDOR", "NOMBRE");
            ViewBag.V_ANFITRIONAID         = new SelectList(db.V_ANFITRIONA, "ID", "NOMBRE");
            ViewBag.ESTADO_ACTIVOID        = new SelectList(db.ESTADOS_ACTIVOS, "ID", "NOMBRE");
            ViewBag.V_ESTACIONID           = new SelectList(db.V_ESTACION, "ID", "NOMBRE");

            Dictionary <string, string> params_busqueda = new Dictionary <string, string>();

            params_busqueda.Add("proveedor", V_PROVEEDORIDPROVEEDOR);
            params_busqueda.Add("tipo_activo", TIPO_ACTIVOID);
            params_busqueda.Add("anfitriona", V_ANFITRIONAID);
            params_busqueda.Add("tipo_transaccion", TIPO_TRANSACCIONID);
            params_busqueda.Add("fecha_antes", fecha_antes);
            params_busqueda.Add("fecha_despues", fecha_despues);
            params_busqueda.Add("usuario", usuario);
            params_busqueda.Add("estado_activo", ESTADO_ACTIVOID);
            params_busqueda.Add("estacion", V_ESTACIONID);
            params_busqueda.Add("fabricante", fabricante);

            aCTIVOS = ACTIVO.busquedaAvanzada(params_busqueda, aCTIVOS);
            #endregion

            switch (orden)
            {
            case "compania_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.V_ANFITRIONA.SIGLAS);
                break;

            case "estacion_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.V_ESTACION.SIGLAS);
                break;

            case "estacion_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.V_ESTACION.SIGLAS);
                break;

            case "tipo_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.TIPOS_ACTIVOS.NOMBRE);
                break;

            case "tipo_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.TIPOS_ACTIVOS.NOMBRE);
                break;

            case "responsable_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.V_EMPLEADOS.NOMBRE);
                break;

            case "responsable_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.V_EMPLEADOS.NOMBRE);
                break;

            case "descrip_desc":
                aCTIVOS = aCTIVOS.OrderByDescending(a => a.DESCRIPCION);
                break;

            case "descrip_asc":
                aCTIVOS = aCTIVOS.OrderBy(a => a.DESCRIPCION);
                break;

            default:
                aCTIVOS = aCTIVOS.OrderBy(a => a.V_ANFITRIONA.SIGLAS);
                break;
            }

            int tamano_pagina = 20;
            int num_pagina    = (pagina ?? 1);

            return(View(aCTIVOS.ToPagedList(num_pagina, tamano_pagina)));
        }