public void CompositeFilter(CompositeFilterDescriptor root, ref IQueryable <Project> query)
        {
            var filters = FilterStateHelper.FlattenCompositeFilterDescriptor(root);

            foreach (var f in filters)
            {
                Filter(f, ref query);
            }
        }
Beispiel #2
0
        public void CompositeFilter(CompositeFilterDescriptor root, ref IQueryable <BusinessTier.Models.Task> query)
        {
            var filters = FilterStateHelper.FlattenCompositeFilterDescriptor(root);

            foreach (var f in filters)
            {
                Filter(f, ref query);
            }
        }
Beispiel #3
0
        public void SearchFilterDescriptors_Test()
        {
            //arrange
            CompositeFilterDescriptor compositeFilter = null;

            //act
            var result = FilterStateHelper.SearchFilterDescriptors(compositeFilter, "priority");

            //assert
            Assert.NotNull(result);
        }
Beispiel #4
0
        public void FlattenCompositeFilterDescriptor_ShouldThrowErrorIfUnsupportedOperatorUsed()
        {
            //arrange
            var compositeFilter = new CompositeFilterDescriptor()
            {
                Filters = new List <dynamic>()
            };

            //act
            compositeFilter.Logic = "OR";

            //assert
            Assert.Throws <NotImplementedException>(() => FilterStateHelper.FlattenCompositeFilterDescriptor(compositeFilter));
        }
Beispiel #5
0
        public void FlattenCompositeFilterDescriptor_Test()
        {
            //arrange
            var compositeFilter = new CompositeFilterDescriptor()
            {
                Filters = new List <dynamic>()
                {
                    new { logic = "and" }
                }
            };

            //act
            compositeFilter.Logic = "and";

            //assert
            Assert.Throws <Newtonsoft.Json.JsonReaderException>(() => FilterStateHelper.FlattenCompositeFilterDescriptor(compositeFilter));
        }