示例#1
0
        protected virtual ContainsCondition CreateContainsCondition(string key, string value, ISearchSettings settings)
        {
            var containsCondition = new ContainsCondition
            {
                TargetField = key,
                Values      = value.TrimStart('(').TrimEnd(')').Split(new[] { '+' }, StringSplitOptions.RemoveEmptyEntries),
            };

            return(containsCondition);
        }
 public static void StringConditions(IDictionary <string, IReferenceTypeCondition <string> > conditions)
 {
     conditions["none"]             = new ReferenceTypeNoneCondition <string>("None");
     conditions["equal"]            = new ReferenceTypeEqualCondition <string>("Equal");
     conditions["notequal"]         = new ReferenceTypeNotEqualCondition <string>("NotEqual");
     conditions["contains"]         = new ContainsCondition("Contains");
     conditions["startswith"]       = new StartsWithCondition("StartsWith");
     conditions["endtswith"]        = new EndsWithCondition("EndsWith");
     conditions["isnullorempty"]    = new IsNullOrEmptyCondition("IsNullOrEmpty");
     conditions["isnotnullorempty"] = new IsNotNullOrEmptyCondition("IsNotNullOrEmpty");
 }
示例#3
0
        public void ContainsCondition()
        {
            var containsCondition = new ContainsCondition();

            var expr1 = containsCondition.For <TestSource>(x => x.Name);

            Assert.IsNull(expr1);

            containsCondition.Value = new FilterValue <string> {
                LeftValue = "llow"
            };

            var expr2 = containsCondition.For <TestSource>(x => x.Name);

            Assert.IsTrue(expr2.Compile()(new TestSource {
                Name = "Hellow World!!!"
            }));
        }
示例#4
0
        public void Test___Method_Check___False___Generic()
        {
            var testee = new ContainsCondition <string>()
            {
                Enumerable = new AnyVariable <IEnumerable <string> >()
                {
                    Value = new List <string>()
                    {
                        "foo",
                        "bar",
                        "baz"
                    }
                },
                Value = new AnyVariable <string>()
                {
                    Value = "BAR"
                }
            };

            Assert.IsFalse(testee.Check());
        }
示例#5
0
        public void Test___Method_Check___True()
        {
            var testee = new ContainsCondition()
            {
                Enumerable = new AnyVariable <IEnumerable>()
                {
                    Value = new List <string>()
                    {
                        "foo",
                        "bar",
                        "baz"
                    }
                },
                Value = new AnyVariable()
                {
                    Value = "bar"
                }
            };

            Assert.IsTrue(testee.Check());
        }
示例#6
0
        public ProductFilter()
        {
            Add("CategoryId", new ValueTypeFilter <Product, int>())
            .For(x => x.CategoryId)
            .Conditions(conditions => conditions["isin"] = new ValueTypeIsInCondition <int>("IsIn"))
            .SetTitle("Categories:")
            .SetTemplate("FastFilterWithListBox");

            Add("UnitPrice", new ValueTypeFilter <Product, decimal>())
            .For(x => x.UnitPrice)
            .Conditions(conditions => conditions["between"] = new BetweenCondition <decimal>("Between"))
            .SetTitle("UnitPrice:")
            .SetValueFormat("{0:G29}")
            .SetTemplate("FastNumberFilter");

            Add("Name", new ReferenceTypeFilter <Product, string>())
            .For(x => x.Name)
            .Conditions(conditions => conditions["contains"] = new ContainsCondition("Contains"))
            .SetTitle("Name:")
            .SetTemplate("FastStringFilter");
        }
        public SimpleProductFilter(NorthwindDataContext dc)
        {
            if (dc == null)
            {
                throw new ArgumentNullException("dc");
            }

            var categories = dc.Categories.OrderBy(x => x.Name).Select(x =>
                                                                       new SelectListItem
            {
                Value = SqlFunctions.StringConvert((double)x.ID).Trim(),
                Text  = x.Name
            });

            Add("CategoryId", new ValueTypeFilter <Product, int>())
            .For(x => x.CategoryID)
            .Conditions(conditions => conditions["isin"] = new ValueTypeIsInCondition <int>("IsIn"))
            .SetDictionary(categories)
            .SetTitle("Categories:")
            .SetTemplate("FastFilterWithListBox");

            Add("UnitPrice", new ValueTypeFilter <Product, decimal>())
            .For(x => x.UnitPrice)
            .Conditions(conditions => conditions["between"] = new BetweenCondition <decimal>("Between"))
            .SetTitle("UnitPrice:")
            .SetValueFormat("{0:G29}")
            .SetTemplate("FastNumberFilter");

            Add("Name", new ReferenceTypeFilter <Product, string>())
            .For(x => x.Name)
            .Conditions(conditions => conditions["contains"] = new ContainsCondition("Contains"))
            .SetTitle("Name:")
            .SetTemplate("FastStringFilter");

            Action = "Grid";

            UpdateTargetId = "products";
        }