public override void LoadChildren(ILibraryRequestHandler dataManager) { base.LoadChildren(dataManager); foreach (DirectoryDTO data in dataManager.GetDirectories(Path)) { Children.Add(new DirectoryViewModel(data, this)); } foreach (Recording data in dataManager.GetDirectoryRecordings(Path)) { Children.Add(new RecordingViewModel(data, this)); } }
void CheckIsLoaded(ViewMode mode) { //Shortciruit for designer if (requestHandler == null) { return; } switch (mode) { case ViewMode.Classic: if (!classicLoaded) { classicLoaded = true; ClassicArtistViewModels.Clear(); foreach (Artist artist in requestHandler.GenerateArtistList()) { ClassicArtistViewModels.Add(new ArtistViewModel(artist, ViewMode.Classic)); } } break; case ViewMode.Simple: if (!simpleLoaded) { simpleLoaded = true; SimpleViewModels.Clear(); foreach (Artist artist in requestHandler.GenerateArtistList()) { SimpleViewModels.Add(new ArtistViewModel(artist, ViewMode.Simple)); } } break; case ViewMode.Album: if (!albumLoaded) { albumLoaded = true; AlbumViewModels.Clear(); foreach (Album album in requestHandler.GenerateAlbumList()) { AlbumViewModels.Add(new AlbumViewModel(album, null)); } } break; case ViewMode.Directory: if (!directoryLoaded) { directoryLoaded = true; DirectoryViewModels.Clear(); foreach (DirectoryDTO directory in requestHandler.GetDirectories("")) { DirectoryViewModels.Add(new DirectoryViewModel(directory, null)); } } break; case ViewMode.MAX: default: throw new Exception($"Unexpected ViewMode: {mode}"); } }