Esempio n. 1
0
        /// <summary>
        /// フィルタクラスタを新しいクラスタに結合します。(AND結合)
        /// </summary>
        public static FilterCluster Restrict(this FilterCluster original, params FilterCluster[] append)
        {
            var cluster = new FilterCluster();

            cluster.ConcatenateAnd = true;
            cluster.Filters        = new[] { original }.Concat(append).ToArray();
            return(cluster.Optimize());
        }
Esempio n. 2
0
        /// <summary>
        /// フィルタクラスタにフィルタを結合します。
        /// </summary>
        public static FilterCluster Join(this FilterCluster cluster, FilterBase filter, bool concatAnd = false)
        {
            var newCluster = new FilterCluster();

            if (cluster != null)
            {
                newCluster.Filters = new IFilter[] { cluster, filter }
            }
            ;
            else
            {
                newCluster.Filters = new IFilter[] { filter }
            };

            newCluster.ConcatenateAnd = concatAnd;

            return(newCluster.Optimize());
        }