public static ISpecificationWithOrdering <T> ThenByDescending <T>( this ISpecificationWithOrdering <T> specification, Expression <Func <T, object> > keySelector) { return(specification .ThenBy(OrderingDirection.Descending, keySelector)); }
public static ISpecificationWithOrdering <T> TakePage <T>( this ISpecificationWithOrdering <T> specification, int pageNumber, int pageSize) { return(specification .TakePage(new PaginationExpression(pageSize, pageNumber))); }
public static ISpecification <T> WithNoOrder <T>( this ISpecificationWithOrdering <T> specification) { return(new Specification <T> ( criteria: specification.Criteria, groupBy: specification.GroupBy, takePage: specification.TakePage )); }
public static ISpecificationWithOrdering <T> WhereAny <T>( this ISpecificationWithOrdering <T> specification) { return(new SpecificationWithOrdering <T> ( criteria: null, groupBy: specification.GroupBy, orderBy: specification.OrderBy, takePage: specification.TakePage )); }
public static ISpecificationWithOrdering <T> GroupBy <T>( this ISpecificationWithOrdering <T> specification, Expression <Func <T, object> > keySelector) { return(new SpecificationWithOrdering <T> ( criteria: specification.Criteria, groupBy: keySelector, orderBy: specification.OrderBy, takePage: specification.TakePage )); }
public static ISpecificationWithOrdering <T> Where <T>( this ISpecificationWithOrdering <T> specification, Expression <Func <T, bool> > predicate) { return(new SpecificationWithOrdering <T> ( criteria: predicate, groupBy: specification.GroupBy, orderBy: specification.OrderBy, takePage: specification.TakePage )); }
private static ISpecificationWithOrdering <T> TakePage <T>( this ISpecificationWithOrdering <T> specification, PaginationExpression?takePage) { return(new SpecificationWithOrdering <T> ( criteria: specification.Criteria, groupBy: specification.GroupBy, orderBy: specification.OrderBy, takePage: takePage )); }
private static ISpecificationWithOrdering <T> ThenBy <T>( this ISpecificationWithOrdering <T> specification, OrderingDirection direction, Expression <Func <T, object> > keySelector) { var orderBy = specification.OrderBy.ToList(); orderBy.Add(new OrderingExpression <T>(direction, keySelector)); return(new SpecificationWithOrdering <T> ( criteria: specification.Criteria, groupBy: specification.GroupBy, orderBy: orderBy, takePage: specification.TakePage )); }
public static ISpecificationWithOrdering <T> TakeAll <T>( this ISpecificationWithOrdering <T> specification) { return(specification .TakePage(null)); }