Ejemplo n.º 1
0
        public void OnSelectedAlbumsOfSelectedGenresChanged()
        {
            ISet <SongMetadata> songs  = new SortedSet <SongMetadata>();
            ISet <string>       genres = new SortedSet <string>(SelectedGenres);

            foreach (AlbumMetadata album in SelectedAlbumsOfSelectedGenres)
            {
                foreach (SongMetadata song in m_DataModel.Database.SongsByAlbum(album))
                {
                    if (genres.Contains(song.Genre))
                    {
                        songs.Add(song);
                    }
                }
            }

            SongsOnSelectedAlbumsOfSelectedGenres.Clear();

            foreach (SongMetadata song in songs)
            {
                SongsOnSelectedAlbumsOfSelectedGenres.Add(new MusicCollectionItem(song, SongsOnSelectedAlbumsOfSelectedGenres.Count));
            }

            NotifyPropertyChanged("SelectedAlbumsOfSelectedGenres");
        }
Ejemplo n.º 2
0
 private void OnDatabasePropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (e.PropertyName == "Database")
     {
         PopulateArtists();
         AlbumsBySelectedArtists.Clear();
         SongsOnSelectedAlbumsBySelectedArtists.Clear();
         PopulateGenres();
         AlbumsOfSelectedGenres.Clear();
         SongsOnSelectedAlbumsOfSelectedGenres.Clear();
         PopulateDirectoryTree();
         PopulateArtistTree();
         PopulateGenreTree();
     }
 }