private void LoadItemFilterEnabledOverride(ItemFilterEnabledOverride filterOverride, ItemFilterRegexList list, ref bool triggerEvent) { foreach (ItemFilterRegex itemFilter in list) { if (itemFilter.Name == filterOverride.Name) { if (itemFilter.Enabled != filterOverride.Enabled) { itemFilter.Enabled = filterOverride.Enabled; triggerEvent = true; } if (filterOverride.SubFilterOverride != null && filterOverride.SubFilterOverride.Count > 0) { foreach (var subOverride in filterOverride.SubFilterOverride) { if (subOverride.Name != "Other") { LoadItemFilterEnabledOverride(subOverride, itemFilter.RegexList, ref triggerEvent); } else { if (itemFilter.OtherRegexEnabled != subOverride.Enabled) { itemFilter.OtherRegexEnabled = (bool)subOverride.Enabled; triggerEvent = true; } } } } return; } } }
private void SaveItemFilterEnabledOverride(ItemFilterRegex itemFilter, List<ItemFilterEnabledOverride> list) { ItemFilterEnabledOverride filterOverride = new ItemFilterEnabledOverride(); filterOverride.Name = itemFilter.Name; filterOverride.Enabled = itemFilter.Enabled; if (itemFilter.RegexList.Count > 0) { filterOverride.SubFilterOverride = new List<ItemFilterEnabledOverride>(); foreach (var subFilter in itemFilter.RegexList) { SaveItemFilterEnabledOverride(subFilter, filterOverride.SubFilterOverride); } filterOverride.SubFilterOverride.Add(new ItemFilterEnabledOverride() { Name = "Other", Enabled = itemFilter.OtherRegexEnabled }); } list.Add(filterOverride); }