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