예제 #1
0
        private void MatchGenreToViewSource(GenreItemData genreItem)
        {
            bool itemMatchFilter = _libraryViewData.CheckGenresFilters(genreItem,
                                                                       DuplicateGenresCheckBox.IsChecked == true,
                                                                       EmptyGenresCheckBox.IsChecked == true);

            if (!itemMatchFilter)
            {
                GenresView.Items.Remove(genreItem);
            }
        }
예제 #2
0
        /// <summary>
        /// Checks current filters on a <see cref="GenreItemData"/> instance.
        /// </summary>
        /// <param name="genreItem"><see cref="GenreItemData"/></param>
        /// <param name="checkDuplicates">Filters duplicates names.</param>
        /// <param name="checkEmpty">Filters invalid names.</param>
        /// <returns><c>True</c> if all filters apply; <c>False</c> otherwise.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="genreItem"/> is <c>Null</c>.</exception>
        public bool CheckGenresFilters(GenreItemData genreItem, bool checkDuplicates, bool checkEmpty)
        {
            if (genreItem == null)
            {
                throw new ArgumentNullException(nameof(genreItem));
            }

            return(ApplyFilters(new List <GenreItemData> {
                genreItem
            },
                                checkDuplicates, checkEmpty
                                ).Any());
        }