public SourceFilter(SourceFilter parent = null) { _fullName = null; Parent = parent; Children = new List <SourceFilter>(); IsChecked = true; }
public void Apply(FiltersProfile other) { if (other == null) { return; } Name = other.Name; MinLogLevel = other.MinLogLevel; FilterText = other.FilterText; MessageFilters.Clear(); foreach (var messageFilter in other.MessageFilters) { MessageFilters.Add(new MessageFilter(messageFilter.Message) { IsEnabled = messageFilter.IsEnabled }); } foreach (var logLevel in LogLevels) { logLevel.IsEnabled = other.LogLevels.FirstOrDefault(ll => ll.LogLevel == logLevel.LogLevel)?.IsEnabled ?? true; } SourceFilterRoot = other.SourceFilterRoot.Clone(); }
public SourceFilter Clone() { var parentClone = new SourceFilter { Name = Name, IsChecked = IsChecked }; foreach (var child in Children) { var childClone = child.Clone(); childClone.Parent = parentClone; parentClone.Children.Add(childClone); } return(parentClone); }