public async Task <PaginatedList <LinGroup> > GetAllGroupsWithAuthAsync(AdminParameters adminParameters)
        {
            var query = _linContext.LinGroups
                        .Include(g => g.LinAuths)
                        .AsQueryable();

            var total = await query.CountAsync();

            var data = await query
                       .Skip(adminParameters.Start + adminParameters.Page *adminParameters.Count)
                       .Take(adminParameters.Count)
                       .ToListAsync();

            return(new PaginatedList <LinGroup>(adminParameters.Page, adminParameters.Count, total, data));
        }
        public async Task <PaginatedList <LinUser> > GetAllUsersWithGroupAsync(AdminParameters adminParameters)
        {
            var query = _linContext.LinUsers
                        .Include(u => u.LinGroup)
                        .AsQueryable();

            if (adminParameters.GroupId != null)
            {
                query = query.Where(u => u.GroupId == adminParameters.GroupId);
            }

            var total = await query.CountAsync();

            var data = await query
                       .Skip(adminParameters.Start + adminParameters.Page *adminParameters.Count)
                       .Take(adminParameters.Count)
                       .ToListAsync();

            return(new PaginatedList <LinUser>(adminParameters.Page, adminParameters.Count, total, data));
        }
Example #3
0
        public async Task <ActionResult <PaginatedResult <LinUserResource> > > GetAllUsers([FromQuery] AdminParameters adminParameters)
        {
            var list = await _adminRepository.GetAllUsersWithGroupAsync(adminParameters);

            var resources = MyMapper.Map <IEnumerable <LinUser>, IEnumerable <LinUserResource> >(list);

            var result = WrapPaginatedResult(list, resources);

            return(Ok(result));
        }