private void AddGenreExpansion(Genre parent, GenreFilteredAlbum child) { if (!m_GenreExpansion.ContainsKey(parent)) { m_GenreExpansion[parent] = new SortedSet <GenreFilteredAlbum>(m_GenreFilteredAlbumSortRule); } m_GenreExpansion[parent].Add(child); }
private GenreFilteredAlbum GetOrCreateGenreFilteredAlbum(Album album, MPDSongResponseBlock block) { Genre genre = Genres[block.Genre ?? UnknownGenre]; if (!m_GenreFilteredAlbumLookup.ContainsKey(genre)) { m_GenreFilteredAlbumLookup[genre] = new SortedDictionary <Album, GenreFilteredAlbum>(); } IDictionary <Album, GenreFilteredAlbum> albumList = m_GenreFilteredAlbumLookup[genre]; if (!albumList.ContainsKey(album)) { string directory = new Path(block.File).Directories.Last(); GenreFilteredAlbum genreFilteredAlbum = new GenreFilteredAlbum(genre, album.Artist, album.Title, album.Date, directory); m_GenreFilteredAlbumLookup[genre][album] = genreFilteredAlbum; AddGenreExpansion(genre, genreFilteredAlbum); } return(m_GenreFilteredAlbumLookup[genre][album]); }