public static IQueryable <Person> OrderPeopleWithDirection(this IQueryable <Person> query, PeopleOrderingColumns column, OrderingDirections direction) { if (column == PeopleOrderingColumns.Name) { return(query.OrderWithDirection(p => p.Name, direction)); } else { return(query.OrderWithDirection(p => p.Age, direction)); } }
public static IQueryable <T> OrderWithDirection <T, TKey>(this IQueryable <T> query, Expression <Func <T, TKey> > keySelector, OrderingDirections direction) { if (direction == OrderingDirections.Ascending) { return(query.OrderBy(keySelector)); } else { return(query.OrderByDescending(keySelector)); } }