Exemple #1
0
        public bool Matches(string filter, FilterMatching criteria = FilterMatching.Any)
        {
            if (criteria == FilterMatching.Never)
            {
                return(false);
            }

            string desc = description;
            string name = this.name;

            if (!FilterMatching.Case.In(criteria))
            {
                filter = filter.ToLower();
                if (FilterMatching.Name.In(criteria))
                {
                    name = this.name.ToLower();
                }

                if (FilterMatching.Description.In(criteria))
                {
                    desc = description.ToLower();
                }
            }

            if (FilterMatching.Any.In(criteria))
            {
                return(name.Contains(filter) || desc.Contains(filter));
            }
            else if (FilterMatching.Both.In(criteria))
            {
                return(name.Contains(filter) && desc.Contains(filter));
            }
            else if (FilterMatching.Name.In(criteria))
            {
                return(name.Contains(filter));
            }
            else if (FilterMatching.Description.In(criteria))
            {
                return(desc.Contains(filter));
            }
            else
            {
                throw new System.MissingMemberException("Can't filter on requested criteria: " + criteria);
            }
        }
Exemple #2
0
 public static bool In(this FilterMatching me, FilterMatching other)
 {
     return((me & other) == me);
 }
Exemple #3
0
        }                                        // Dummy constructor

        public MenuGenericItemModel(bool isLoop, ItemFormat funcFormat, FilterMatching funcFilter, Action <int, T> onSelect)
        {
        }