using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Linq.Expressions; namespace Sleis.Data { public class Orderable { private IQueryable _queryable; public Orderable(IQueryable enumerable) { _queryable = enumerable; } public IQueryable Queryable { get { return _queryable; } } public Orderable Asc(Expression> keySelector) { _queryable = _queryable .OrderBy(keySelector); return this; } public Orderable Asc(Expression> keySelector1, Expression> keySelector2) { _queryable = _queryable .OrderBy(keySelector1) .OrderBy(keySelector2); return this; } public Orderable Asc(Expression> keySelector1, Expression> keySelector2, Expression> keySelector3) { _queryable = _queryable .OrderBy(keySelector1) .OrderBy(keySelector2) .OrderBy(keySelector3); return this; } public Orderable Desc(Expression> keySelector) { _queryable = _queryable .OrderByDescending(keySelector); return this; } public Orderable Desc(Expression> keySelector1, Expression> keySelector2) { _queryable = _queryable .OrderByDescending(keySelector1) .OrderByDescending(keySelector2); return this; } public Orderable Desc(Expression> keySelector1, Expression> keySelector2, Expression> keySelector3) { _queryable = _queryable .OrderByDescending(keySelector1) .OrderByDescending(keySelector2) .OrderByDescending(keySelector3); return this; } } }