public void SetFilteringCombieRule(FilteringCollection.CombiningFilters cf) { if (_filtering == null) { _filtering = new FilteringCollection(); } _filtering.CombiningRule = cf; }
public QueryPaggedBase <TItem, TResult> AddFiltering(Expression <Func <TItem, object> > memberSelector, object criterion, CriterionPredicate predicate = CriterionPredicate.Eq, bool ignoreCase = false) { if (_filtering == null) { _filtering = new FilteringCollection(); } _filtering.Add(FilteringDescriptor.Get(memberSelector, criterion, predicate, ignoreCase)); return(this); }
public IQueryable <T> ApplyFiltering(IQueryable <T> query, FilteringCollection coll) { _query = query; _expression = null; coll.Accept(this); _query = _query.Where(Expression.Lambda <Func <T, bool> >(_expression, _param)); var res = _query; _query = null; return(res); }
void IQueryVisitor.Visit(FilteringCollection filtering) { var combineWird = filtering.CombiningRule == FilteringCollection.CombiningFilters.And ? " and " : " or "; for (int i = 0; i < filtering.Count; ++i) { if (i > 0) { _bld.Append(combineWird); } filtering[i].Accept(this); } }
public QueryPaggedBase <TItem, TResult> AddFiltering(string field, object criterion, CriterionPredicate predicate = CriterionPredicate.Eq, bool ignoreCase = false) { if (_filtering == null) { _filtering = new FilteringCollection(); } _filtering.Add(new FilteringDescriptor() { Field = field, Predicate = predicate, Criterion = criterion, IgnoreCase = ignoreCase }); return(this); }
void IQueryVisitor.Visit(FilteringCollection filtering) { Predicate predicate = filtering.CombiningRule == FilteringCollection.CombiningFilters.Or ? (Predicate)Expression.OrElse : Expression.AndAlso; filtering[0].Accept(this); var expression = _expression; for (var i = 1; i < filtering.Count; ++i) { var filterDescriptor = filtering[i]; filterDescriptor.Accept(this); if (_expression == null) { continue; } var descriptorExpression = _expression; expression = predicate(expression, descriptorExpression); } _expression = expression; }
public void BuildFilterExpression(StringBuilder bld, FilteringCollection coll) { _bld = bld; coll.Accept(this); _bld = null; }
void IQueryVisitor.Visit(FilteringCollection filtering) { var combineWird = filtering.CombiningRule == FilteringCollection.CombiningFilters.And ? " and " : " or "; for (int i = 0; i < filtering.Count; ++i) { if (i > 0) _bld.Append(combineWird); filtering[ i ].Accept(this); } }
public AttridaObject() { this.Documents = new FilteringCollection <AttridaDocument>(this.DocumentsIncludingDeleted, d => d.Deleted is null); this.Comments = new FilteringCollection <AttridaComment>(this.CommentsIncludingDeleted, d => d.Deleted is null); }