Esempio n. 1
0
        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();
            });
        }
Esempio n. 2
0
        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);
                }
            });
        }