public SourceFilter(SourceFilter parent = null)
 {
     _fullName = null;
     Parent    = parent;
     Children  = new List <SourceFilter>();
     IsChecked = true;
 }
Beispiel #2
0
        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);
        }