public async Task <Tuple <int, List <User> > > SearchAsync(UserFilter filter, PagedRequest pagination, OrderedRequest ordering) => await filter.Filter(m_context.Users.AsQueryable()) .WithOrdering(ordering, new OrderedRequest { OrderBy = nameof(User.Id), OrderDirection = OrderDirection.Asc }) .WithPaginationAsync(pagination);
public static IQueryable <TSource> WithOrdering <TSource>(this IQueryable <TSource> source, OrderedRequest ordering, OrderedRequest defaultOrdering) { if (ordering == null || string.IsNullOrEmpty(ordering.OrderBy)) { ordering = defaultOrdering; } return(source.OrderBy(ordering.OrderBy, ordering.OrderDirection)); }