used now in a7Box for fields filter. A simple GroupFilter expression, that is flat, grouping only AtomicFilters (and not any filters) by one selected And/Join clause
Inheritance: FilterExpressionData, INotifyPropertyChanged, ICloneable
        /// <summary>
        /// clones instance of this filter with cloning of all instances of contained atomic filters
        /// </summary>
        /// <returns></returns>
        public override FilterExpressionData Clone()
        {
            FltFlatGroupExprData fsg = new FltFlatGroupExprData(this.AndOr);

            foreach (KeyValuePair <string, FltAtomExprData> kv in this.FieldFilters)
            {
                fsg.FieldFilters.Add(kv.Key, kv.Value.Clone() as FltAtomExprData);
            }
            fsg.Negate = this.Negate;
            return(fsg);
        }
 public CollectionFilterData()
 {
     FieldsFilter = new FltFlatGroupExprData(eAndOrJoin.And);
 }
 /// <summary>
 /// clones instance of this filter with cloning of all instances of contained atomic filters
 /// </summary>
 /// <returns></returns>
 public override FilterExpressionData Clone()
 {
     FltFlatGroupExprData fsg = new FltFlatGroupExprData(this.AndOr);
     foreach (KeyValuePair<string, FltAtomExprData> kv in this.FieldFilters)
     {
         fsg.FieldFilters.Add(kv.Key, kv.Value.Clone() as FltAtomExprData);
     }
     fsg.Negate = this.Negate;
     return fsg;
 }
 public CollectionFilterData()
 {
     FieldsFilter = new FltFlatGroupExprData(eAndOrJoin.And);
 }