예제 #1
0
 public Paginacion(
     string ordenarPor       = null,
     DirOrden direccionOrden = DirOrden.Asc,
     int pagina         = 1,
     int itemsPorPagina = 0)
 {
     OrdenarPor     = ordenarPor;
     DireccionOrden = direccionOrden;
     Pagina         = pagina;
     ItemsPorPagina = itemsPorPagina;
 }
예제 #2
0
 public Paginacion(
     string ordenarPor = null,
     DirOrden direccionOrden = DirOrden.Asc,
     int pagina = 1,
     int itemsPorPagina = 0)
 {
     OrdenarPor = ordenarPor;
     DireccionOrden = direccionOrden;
     Pagina = pagina;
     ItemsPorPagina = itemsPorPagina;
 }
예제 #3
0
 public ActionResult Listar(string filtro, int pagina = 1, string ordenarPor = "Id", DirOrden dirOrden = DirOrden.Asc)
 {
     return(View("Listar", ListQuery(filtro, pagina, ordenarPor, dirOrden)));
 }
예제 #4
0
        private ListaPaginada <SubCategoriaDto> ListQuery(string filtro, int pagina, string ordenarPor, DirOrden dirOrden)
        {
            var paginacion = new Paginacion(ordenarPor, dirOrden, pagina, 10);

            return(Negocio.ListarSubCategoriasPaginado(filtro, paginacion));
        }
예제 #5
0
        private ListaPaginada <UsuarioDto> ListQuery(string filtro, int pagina, string ordenarPor, DirOrden dirOrden)
        {
            var paginacion = new Paginacion(ordenarPor, dirOrden, pagina, 10);
            var usersQuery = UserManager.Users;

            Expression <Func <Usuario, bool> > expresionFiltro = null;

            if (!string.IsNullOrEmpty(filtro))
            {
                filtro          = filtro.Trim();
                expresionFiltro = x => x.Nombre.Contains(filtro) ||
                                  x.Apellido.Contains(filtro) ||
                                  x.UserName.Contains(filtro);
            }

            if (expresionFiltro != null)
            {
                usersQuery = usersQuery.Where(expresionFiltro);
            }

            int itemsTotales = usersQuery.Count();

            if (paginacion.OrdenarPor != null)
            {
                usersQuery.OrderBy(paginacion.OrdenarPor, paginacion.DireccionOrden == DirOrden.Asc);
            }

            usersQuery = usersQuery.Skip((paginacion.Pagina - 1) * paginacion.ItemsPorPagina).Take(paginacion.ItemsPorPagina);
            var itemsDto = Mapper.Map <IList <UsuarioDto> >(usersQuery.ToList());

            return(new ListaPaginada <UsuarioDto>(itemsDto, paginacion.Pagina, paginacion.ItemsPorPagina, itemsTotales));
        }
예제 #6
0
        private ListaPaginada <RolDto> ListQuery(string filtro, int pagina, string ordenarPor, DirOrden dirOrden)
        {
            var paginacion = new Paginacion(ordenarPor, dirOrden, pagina, 10);
            var rolesQuery = RoleManager.Roles;

            Expression <Func <Rol, bool> > expresionFiltro = null;

            if (!string.IsNullOrEmpty(filtro))
            {
                filtro          = filtro.Trim();
                expresionFiltro = x => x.Name.Contains(filtro);
            }

            if (expresionFiltro != null)
            {
                rolesQuery = rolesQuery.Where(expresionFiltro);
            }

            int itemsTotales = rolesQuery.Count();

            if (paginacion.OrdenarPor != null)
            {
                rolesQuery.OrderBy(paginacion.OrdenarPor, paginacion.DireccionOrden == DirOrden.Asc);
            }

            rolesQuery = rolesQuery.Skip((paginacion.Pagina - 1) * paginacion.ItemsPorPagina).Take(paginacion.ItemsPorPagina);
            var itemsDto = Mapper.Map <IList <RolDto> >(rolesQuery.ToList());

            return(new ListaPaginada <RolDto>(itemsDto, paginacion.Pagina, paginacion.ItemsPorPagina, itemsTotales));
        }