private void InitializeCommands() { PlayAudioCommand = new RelayCommand <Audio>(audio => { AudioService.Play(audio); if (SelectedTabIndex == 0) { var searchControl = LocalSearchControl.GetForCurrentView(); if (searchControl != null && searchControl.IsFiltering) { AudioService.SetCurrentPlaylist((searchControl.Source.View).Cast <Audio>()); } else { AudioService.SetCurrentPlaylist(Tracks); } } else if (SelectedArtistAlbums != null) { AudioService.SetCurrentPlaylist(SelectedArtistAlbums.Where(a => !a.Tracks.IsNullOrEmpty()).SelectMany(a => a.Tracks).ToList()); } }); GoToAlbumCommand = new RelayCommand <AudioAlbum>(album => { MessengerInstance.Send(new NavigateToPageMessage() { Page = "/Local.LocalAlbumView", Parameters = new Dictionary <string, object>() { { "album", album } } }); }); RefreshCommand = new RelayCommand(() => { Refresh(); }); }
private void InitializeCommands() { PlayAudioCommand = new RelayCommand <Audio>(audio => { AudioService.Play(audio); switch (SelectedTabIndex) { case 0: var searchControl = LocalSearchControl.GetForCurrentView(); if (searchControl != null && searchControl.IsFiltering) { AudioService.SetCurrentPlaylist((searchControl.Source.View).Cast <Audio>()); } else { AudioService.SetCurrentPlaylist(Tracks); } break; case 1: if (SelectedArtist != null) { AudioService.SetCurrentPlaylist(SelectedArtist.Tracks); } break; case 2: AudioService.SetCurrentPlaylist(NewsTracks); break; case 3: AudioService.SetCurrentPlaylist(WallTracks); break; case 4: AudioService.SetCurrentPlaylist(FavoritesTracks); break; } }); LoadMoreAlbumsCommand = new RelayCommand(() => LoadMoreAlbums()); RefreshCommand = new RelayCommand(() => { CancelAsync(); LoadTracks(_cancellationToken.Token); LoadArtists(_cancellationToken.Token); }); AddAlbumCommand = new RelayCommand(AddNewAlbum); EditAlbumCommand = new RelayCommand <VkPlaylist>(EditAlbum); RemoveAlbumCommand = new RelayCommand <VkAudioAlbum>(RemoveAlbum); PlayAlbumCommand = new RelayCommand <VkAudioAlbum>(PlayAlbum); AddAlbumToNowPlayingCommand = new RelayCommand <VkAudioAlbum>(AddAlbumToNowPlaying); PlayArtistCommand = new RelayCommand <AudioArtist>(artist => { AudioService.Play(artist.Tracks.First()); AudioService.SetCurrentPlaylist(artist.Tracks); }); AddArtistToNowPlayingCommand = new RelayCommand <AudioArtist>(artist => { foreach (var track in artist.Tracks) { AudioService.Playlist.Add(track); } }); }