using System; using System.Linq; using VCommon.VApplication.Dto; using VCommon.VEntity; namespace VCommon.VApplication.Linq.Expressions { public static class QueryableExtensions { public static IQueryable PageBy(this IQueryable queryable, IPageRequest input) { return queryable.Skip(input.Skip).Take(input.Take); } public static IQueryable OrderByCreateTimeDescAndPageBy(this IQueryable queryable, IPageRequest input) where T : IHaveCreationTime { return queryable .OrderByDescending(ExpressionHelper.Property(nameof(IHaveCreationTime.CreationTime))) .PageBy(input); } } }