public async Task <IEnumerable <User> > GetUsersQuery(OffsetPagination pagination) { var users = await _userRepository.GetUsersWhereAsync(x => true); return(users.Paginate(pagination)); }
public async Task <IEnumerable <User> > GetUsersWhereNameContainsPhraseQuery(string phrase, OffsetPagination pagination) { var users = await _userRepository .GetUsersWhereAsync(x => x.FirstName.ToLower().Contains(phrase.ToLower()) || x.LastName.ToLower().Contains(phrase.ToLower())); return(users.Paginate(pagination)); }
public static IEnumerable <TSource> Paginate <TSource>(this IEnumerable <TSource> collection, OffsetPagination pagination) { return(collection .Skip((pagination.PageNumber - 1) * pagination.RowsPerPage) .Take(pagination.RowsPerPage)); }