// 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))); }
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))); }