Exemple #1
0
        //класс, который фильтрует объекты
        //идея фильтрации в том, чтобы применить фильтр к каждому объекту в исходной коллекции и вернуть результат
        //в самом просто мварианте оно просто включает в выход те элементы, что выдают true при вычислении filteringExpression

        public FiltrationMachinePattern(Lib.Filter _filter)
        {
            filter = _filter;
            //ComparerRule comparer = new ComparerRule();
            foreach (Lib.Filter.FilteringRule fr in filter.filteringRuleList)
            {
                ComparerRule c = new ComparerRule();
                c.filteringRule = fr;
                comparerRuleList.Add(c);
            }
        }
Exemple #2
0
        private string getFilteringRuleValueByOrder_matchEval(Match m)
        {
            char[] charsToTrim = { 'B', 'E' };
            int    no          = Convert.ToInt32(m.Value.Trim(charsToTrim));
            //возвращает значение true/false по номеру правила
            ComparerRule tmp = comparerRuleList.Where(obj => obj.filteringRule.ruleOrder == no).First();

            if (tmp != null)
            {
                return(" " + tmp.filteringRuleValue.ToString() + " ");
            }
            else
            {
                return(" false ");
            }
        }