internal static IDomainQueryable <TEntity> ApplyFilters <TEntity>(this IDomainQueryable <TEntity> queriable, IEnumerable <System.Linq.Expressions.Expression <Func <TEntity, bool> > > filters) where TEntity : Entity { if (!ReferenceEquals(filters, null)) { foreach (var filter in filters) { queriable = queriable.Where(filter); } } return(queriable); }
internal static IDomainQueryable <TEntity> ApplyFilters <TEntity>(this IDomainQueryable <TEntity> queriable, IEnumerable <Remote.Linq.Expressions.LambdaExpression> filterList) where TEntity : Entity { if (!ReferenceEquals(filterList, null)) { var filters = from f in filterList select f.ReplaceNonGenericQueryArgumentsByGenericArguments().ToLinqExpression <TEntity, bool>(); queriable = queriable.ApplyFilters(filters); } return(queriable); }
internal static IDomainQueryable <TEntity> ApplySorting <TEntity>(this IDomainQueryable <TEntity> queriable, IEnumerable <Remote.Linq.Expressions.SortExpression> sortList) where TEntity : Entity { IOrderedDomainQueryable <TEntity> orderedQueriable = null; if (!ReferenceEquals(sortList, null)) { foreach (var sort in sortList) { var exp = sort.Operand.ReplaceNonGenericQueryArgumentsByGenericArguments().ToLinqExpression(); if (ReferenceEquals(orderedQueriable, null)) { switch (sort.SortDirection) { case Remote.Linq.Expressions.SortDirection.Ascending: orderedQueriable = queriable.OrderBy(exp); break; case Remote.Linq.Expressions.SortDirection.Descending: orderedQueriable = queriable.OrderByDescending(exp); break; } } else { switch (sort.SortDirection) { case Remote.Linq.Expressions.SortDirection.Ascending: orderedQueriable = orderedQueriable.ThenBy(exp); break; case Remote.Linq.Expressions.SortDirection.Descending: orderedQueriable = orderedQueriable.ThenByDescending(exp); break; } } } } return(orderedQueriable ?? queriable); }
protected virtual IEnumerable <TEntity> ExecuteDataQuery <TEntity>(IDomainQueryable <TEntity> queryable) where TEntity : Entity { return(queryable.ToList()); }
protected virtual long ExecuteCountQuery <TEntity>(IDomainQueryable <TEntity> queryable) where TEntity : Entity { return(queryable.LongCount()); }
public static IOrderedDomainQueryable <TEntity> OrderByDescending <TEntity>(this IDomainQueryable <TEntity> queryable, LambdaExpression lambdaExpression) where TEntity : Entity { return(queryable.Call <TEntity, IDomainQueryable <TEntity>, IOrderedDomainQueryable <TEntity> >(lambdaExpression, "OrderByDescending")); }