/// <summary> /// Sorting items based on a given OrderFilter. /// </summary> /// <typeparam name="T">Return type.</typeparam> /// <param name="query">An enumerated request.</param> /// <param name="filter">Sort filter.</param> /// <exception cref="ArgumentException" /> /// <exception cref="ArgumentNullException" /> /// <exception cref="InvalidCastException" /> /// <exception cref="InvalidOperationException" /> /// <returns>Sorted query.</returns> public static IOrderedQueryable <T> ThenBy <T>(this IEnumerable <T> query, OrderFilter filter) { return(filter != null?filter.GetOrderedQueryable(query.AsQueryable(), OrderStep.Next) : (IOrderedQueryable <T>)query.AsQueryable()); }
/// <summary> /// Sorting items based on a given OrderFilter. /// </summary> /// <typeparam name="T">Return type.</typeparam> /// <param name="query">Integrable request.</param> /// <param name="filter">Sort filter.</param> /// <exception cref="ArgumentException" /> /// <exception cref="ArgumentNullException" /> /// <exception cref="InvalidCastException" /> /// <exception cref="InvalidOperationException" /> /// <returns>Sorted query.</returns> public static IOrderedQueryable <T> OrderBy <T>(this IQueryable <T> query, OrderFilter filter) { return(filter != null?filter.GetOrderedQueryable(query, OrderStep.First) : (IOrderedQueryable <T>)query); }