public void InitializeFilters(IList <SnoopSingleFilter> singleFilters) { this.filters.Clear(); if (singleFilters == null) { this.filters.Add(new SnoopSingleFilter()); this.IsSet = false; return; } foreach (var filter in singleFilters) { this.filters.Add(filter); } var groupings = (from x in singleFilters where x.IsGrouped select x).GroupBy(x => x.GroupId); foreach (var grouping in groupings) { var multipleFilter = new SnoopMultipleFilter(); var groupedFilters = grouping.ToArray(); if (groupedFilters.Length == 0) { continue; } multipleFilter.AddRange(groupedFilters, groupedFilters[0].GroupId); this.multipleFilters.Add(multipleFilter); } this.SetIsSet(); }
public void GroupFilters(IEnumerable <SnoopFilter> filtersToGroup) { var multipleFilter = new SnoopMultipleFilter(); multipleFilter.AddRange(filtersToGroup, (this.multipleFilters.Count + 1).ToString()); this.multipleFilters.Add(multipleFilter); }