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"); }
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"); }
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"); }