public async Task <PagingUsersModel> GetUsersAsync(PagingUsersParameters pagingUsersParametrs) { IQueryable <UserDtoModel> pagedUsers = applicationDbContext.UserListView.AsQueryable(); if (!String.IsNullOrWhiteSpace(pagingUsersParametrs.OrderBy)) { pagedUsers = sortingService.Sort(pagedUsers, pagingUsersParametrs.OrderBy); } if (!String.IsNullOrWhiteSpace(pagingUsersParametrs.SearchExpression)) { pagedUsers = pagedUsers.Where(user => user.Name.Contains(pagingUsersParametrs.SearchExpression) || user.LastName.Contains(pagingUsersParametrs.SearchExpression)); } ; var totalUsers = await pagedUsers.CountAsync(); pagedUsers = pagedUsers.Skip((pagingUsersParametrs.PageNumber - 1) * pagingUsersParametrs.PageSize).Take(pagingUsersParametrs.PageSize); pagingModel = new PagingModel(totalUsers, pagingUsersParametrs.PageNumber); return(new PagingUsersModel { PagesModel = pagingModel, Users = pagedUsers }); }
public async Task <ActionResult> GetUsersAsync([FromQuery] PagingUsersParameters userParameters) { var getPaginatedUsers = await userManageService.GetUsersAsync(userParameters); if (getPaginatedUsers.Users.Any()) { return(Ok(getPaginatedUsers)); } return(NoContent()); }