Ejemplo n.º 1
0
 public void SetFilteringCombieRule(FilteringCollection.CombiningFilters cf)
 {
     if (_filtering == null)
     {
         _filtering = new FilteringCollection();
     }
     _filtering.CombiningRule = cf;
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
 public void BuildFilterExpression(StringBuilder bld, FilteringCollection coll)
 {
     _bld = bld;
     coll.Accept(this);
     _bld = null;
 }
Ejemplo n.º 8
0
 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);
     }
 }
Ejemplo n.º 9
0
 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);
 }
Ejemplo n.º 10
0
 public void BuildFilterExpression(StringBuilder bld, FilteringCollection coll)
 {
     _bld = bld;
     coll.Accept(this);
     _bld = null;
 }