Esempio n. 1
0
        protected override void CalculateFilteredCollection()
        {
            IEnumerable <Platform> _filteredCollection = sourceCollection;

#if DEBUG
            Stopwatch Watch = Stopwatch.StartNew();
#endif

            //// Filter items based on text
            if (!string.IsNullOrEmpty(TextFilter))
            {
                _filteredCollection = _filteredCollection.Where(x => Regex.IsMatch(x.Title, TextFilter.Replace(@"*", @".*"), RegexOptions.IgnoreCase));
            }

            filteredCollection = _filteredCollection
                                 .Where(x => !TypeFilter.IsSet || x.Type == TypeFilter.Value)
                                 .Where(x => !GenerationFilter.IsSet || x.Generation == GenerationFilter.Value)
                                 .Where(x => !DeveloperFilter.IsSet || x.Developer != null && x.Developer.Contains(DeveloperFilter.Value))
                                 .Where(x => !ManufacturerFilter.IsSet || x.Manufacturer != null && x.Manufacturer.Contains(ManufacturerFilter.Value))
                                 .Where(x => !MediaFilter.IsSet || x.Media != null && x.Media.Contains(MediaFilter.Value))

                                 .Where(x => !IncludedFilter.IsSet || x.Included == IncludedFilter.Value)
                                 .Where(x => !PreferreddFilter.IsSet || x.Unlicensed == PreferreddFilter.Value)

                                 .ToList();

#if DEBUG
            Debug.WriteLine("Calculate filtered collection: " + Watch.ElapsedMilliseconds);
#endif
            OnPropertyChanged("FilteredCollection");
        }
Esempio n. 2
0
        protected override void CalculateFilteredCollection()
        {
            IEnumerable <Emulator> _filteredCollection = sourceCollection;

#if DEBUG
            Stopwatch Watch = Stopwatch.StartNew();
#endif

            //// Filter items based on text
            if (!string.IsNullOrEmpty(TextFilter))
            {
                _filteredCollection = _filteredCollection.Where(x => Regex.IsMatch(x.Title, TextFilter.Replace(@"*", @".*"), RegexOptions.IgnoreCase));
            }

            filteredCollection = _filteredCollection
                                 .Where(x => !PlatformFilter.IsSet || x.Platforms.Select(y => y.Title).Contains(PlatformFilter.Value))
                                 .Where(x => !IncludedFilter.IsSet || x.Included == IncludedFilter.Value)

                                 .ToList();

#if DEBUG
            Debug.WriteLine("Calculate filtered collection: " + Watch.ElapsedMilliseconds);
#endif
            OnPropertyChanged("FilteredCollection");
        }
Esempio n. 3
0
        protected override void CalculateFilteredCollection()
        {
            IEnumerable <Game> _filteredCollection = sourceCollection;

#if DEBUG
            Stopwatch Watch = Stopwatch.StartNew();
#endif

            // String filters
            if (!string.IsNullOrEmpty(TextFilter))
            {
                _filteredCollection = _filteredCollection.Where(x => Regex.IsMatch(x.Title, TextFilter.Replace(@"*", @".*"), RegexOptions.IgnoreCase));
            }

            if (PublisherFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.Publisher == PublisherFilter.Value);
            }

            if (GenreFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.Genre != null && x.Genre.Contains(GenreFilter.Value));
            }

            if (PlayersFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.Players == PlayersFilter.Value);
            }

            if (PlatformFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.PlatformTitle == PlatformFilter.Value);
            }

            if (RegionsFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.RegionsList.Contains(RegionsFilter.Value));
            }

            if (YearFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.Year == YearFilter.Value);
            }

            // Bool filters
            if (UnlicensedFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.Unlicensed == UnlicensedFilter.Value);
            }

            if (BeatenFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.IsBeaten == BeatenFilter.Value);
            }

            if (Settings.DisplayCrap && CrapFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.IsCrap == CrapFilter.Value);
            }

            if (Settings.DisplayNotIncluded && IncludedFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.Included == IncludedFilter.Value);
            }

            if (Settings.DisplayNonGames && IsGameFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.IsGame == IsGameFilter.Value);
            }

            if (Settings.DisplayAdult && AdultFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.IsAdult == AdultFilter.Value);
            }

            if (Settings.DisplayMess && MessFilter.IsSet)
            {
                _filteredCollection = _filteredCollection.Where(x => x.IsMess == MessFilter.Value);
            }

            filteredCollection = _filteredCollection.ToList();

#if DEBUG
            Debug.WriteLine("Calculate filtered collection: " + Watch.ElapsedMilliseconds);
#endif
            OnPropertyChanged("FilteredCollection");
        }