Esempio n. 1
0
        /// <summary>
        ///     Filters the update.
        /// </summary>
        private void FilterUpdate( )
        {
            List <AppLibraryApp> filteredApps = new List <AppLibraryApp>( );

            foreach (var app in AppLibraryApps)
            {
                FilterObject applicationFilterObject  = ApplicationFilters.FirstOrDefault(f => f.Value.ToString( ) == app.Application);
                FilterObject versionFilterObject      = VersionFilters.FirstOrDefault(f => f.Value.ToString( ) == app.Version);
                FilterObject publisherFilterObject    = PublisherFilters.FirstOrDefault(f => f.Value.ToString( ) == app.Publisher);
                FilterObject publisherUrlFilterObject = PublisherUrlFilters.FirstOrDefault(f => f.Value.ToString( ) == app.PublisherUrl);

                if ((applicationFilterObject == null || applicationFilterObject.IsFiltered) && (versionFilterObject == null || versionFilterObject.IsFiltered) && (publisherFilterObject == null || publisherFilterObject.IsFiltered) && (publisherUrlFilterObject == null || publisherUrlFilterObject.IsFiltered))
                {
                    filteredApps.Add(app);
                }
            }

            FilteredAppLibraryApps = filteredApps;
        }
Esempio n. 2
0
        public void Update()
        {
            var filters = new List <ICreateFilterExpressions>();

            if (LevelFilter > SystemEventLevel.Trace)
            {
                filters.Add(CreateGreaterThanOrEqualToFilter("Level", LevelFilter));
            }

            if (ProcessFilters.Any())
            {
                filters.Add(new OrElseFilter(FilterDefinition.Empty, ProcessFilters.Select(pid => CreateEqualToFilter("ProcessId", pid))));
            }

            if (ApplicationFilters.Any())
            {
                filters.Add(new OrElseFilter(FilterDefinition.Empty, ApplicationFilters.Select(name => CreateEqualToFilter("ProcessName", name))));
            }

            if (SourceFilters.Any())
            {
                filters.Add(new OrElseFilter(FilterDefinition.Empty, SourceFilters.Select(CreateTextFilter)));
            }

            if (UsernameFilters.Any())
            {
                filters.Add(new OrElseFilter(FilterDefinition.Empty, UsernameFilters.Select(CreateTextFilter)));
            }

            if (MessageFilters.Any())
            {
                filters.Add(new OrElseFilter(FilterDefinition.Empty, MessageFilters.Select(CreateTextFilter)));
            }

            dynamicFilter = new StaticFilterExpression(systemEvent, new AndAlsoFilter(FilterDefinition.Empty, filters).CreateExpression(filterParameters));
        }