static IEnumerable <IFilterDescriptor> AddToRangeFilters(IEnumerable <IFilterDescriptor> filters, string key, FilterOperator op1, object val1, FilterOperator op2, object val2)
        {
            var compositeFilter = new CompositeFilterDescriptor();
            var filterSubItems  = new FilterDescriptorCollection();

            filterSubItems.Add(new FilterDescriptor()
            {
                Member = key, Operator = op1, Value = val1
            });
            filterSubItems.Add(new FilterDescriptor()
            {
                Member = key, Operator = op2, Value = val2
            });
            compositeFilter.FilterDescriptors = filterSubItems;
            compositeFilter.LogicalOperator   = FilterCompositionLogicalOperator.And;
            return(filters.Concat(new List <IFilterDescriptor>()
            {
                compositeFilter
            }));
        }
Exemple #2
0
        public void CollectionManagerCollatesFilterDescriptorEvents()
        {
            FilterDescriptorCollection collection = new FilterDescriptorCollection();
            ExpressionCache            cache      = new ExpressionCache();
            FilterDescriptor           descriptor = null;

            this.CollectionManagerCollatesTemplate(
                (validationAction) =>
            {
                return(new FilterCollectionManager(collection, cache, fd => validationAction()));
            },
                () =>
            {
                collection.Add(new FilterDescriptor());
            },
                () =>
            {
                collection[0].PropertyPath = "First";
            },
                () =>
            {
                collection.Add(new FilterDescriptor());
            },
                () =>
            {
                collection[1].PropertyPath = "Second";
            },
                () =>
            {
                collection[1] = new FilterDescriptor();
            },
                () =>
            {
                descriptor = collection[0];
                collection.Remove(descriptor);
            },
                () =>
            {
                descriptor.PropertyPath = "Removed";
            });
        }
        public void CollectionManagerCollatesFilterDescriptorEvents()
        {
            FilterDescriptorCollection collection = new FilterDescriptorCollection();
            ExpressionCache cache = new ExpressionCache();
            FilterDescriptor descriptor = null;

            this.CollectionManagerCollatesTemplate(
                (validationAction) => 
                {
                    return new FilterCollectionManager(collection, cache, fd => validationAction());
                },
                () =>
                {
                    collection.Add(new FilterDescriptor());
                },
                () =>
                {
                    collection[0].PropertyPath = "First";
                },
                () =>
                {
                    collection.Add(new FilterDescriptor());
                },
                () =>
                {
                    collection[1].PropertyPath = "Second";
                },
                () =>
                {
                    collection[1] = new FilterDescriptor();
                },
                () =>
                {
                    descriptor = collection[0];
                    collection.Remove(descriptor);
                },
                () =>
                {
                    descriptor.PropertyPath = "Removed";
                });
        }