private void MatchAlbumToViewSource(AlbumItemData albumItem) { bool itemMatchFilter = _libraryViewData.CheckAlbumsFilters(albumItem, DuplicateAlbumsCheckBox.IsChecked == true, EmptyAlbumsCheckBox.IsChecked == true, InvalidFrontCoverCheckBox.IsChecked == true, MultipleYearsCheckBox.IsChecked == true, InvalidTracksOrderCheckBox.IsChecked == true); if (!itemMatchFilter) { AlbumsView.Items.Remove(albumItem); } }
/// <summary> /// Checks current filters on a <see cref="AlbumItemData"/> instance. /// </summary> /// <param name="albumItem"><see cref="AlbumItemData"/></param> /// <param name="checkDuplicates">Filters duplicates names.</param> /// <param name="checkEmpty">Filters invalid names.</param> /// <param name="checkFrontCovers">Filters invalid front covers.</param> /// <param name="checkYears">Filters invalid years.</param> /// <param name="checkTrackNumberSequences">Filters invalid track number sequences.</param> /// <returns><c>True</c> if all filters apply; <c>False</c> otherwise.</returns> /// <exception cref="ArgumentNullException"><paramref name="albumItem"/> is <c>Null</c>.</exception> public bool CheckAlbumsFilters(AlbumItemData albumItem, bool checkDuplicates, bool checkEmpty, bool checkFrontCovers, bool checkYears, bool checkTrackNumberSequences) { if (albumItem == null) { throw new ArgumentNullException(nameof(albumItem)); } return(ApplyFilters(new List <AlbumItemData> { albumItem }, checkDuplicates, checkEmpty, checkFrontCovers, checkYears, checkTrackNumberSequences ).Any()); }