Я пытаюсь написать метод сервисного уровня, который будет принимать все необходимые параметры, которые позволят мне получать данные из хранилища так, как будет работать сетка веб-форм.
Хранилище возвращает IQueryable<T>
.
Я придумал такую модель:
public class PagedModel<T>
{
public GridSortOptions GridSortOptions { get; set; } //Enum for ASC and DESC
public IList<T> Items { get; set; }
public int Page { get; set; }
public int PageSize { get; set; }
}
Метод:
PagedModel<User> GetUsers(Expression<Func<T,bool>> predicate, int page, int pageSize, GridSortOptions sortOption);
Вопросы:
- Какие параметры мне не хватает в этом методе?
- Какие свойства мне не хватает в PagedModel?
- Как мне реализовать метод?
Что я хочу:
- Paging
- Сортировка
- Фильтрация