protected override void InitializeCommands()
        {
            base.InitializeCommands();

            GoToPlaylistCommand = new DelegateCommand <PlaylistVk>(playlist =>
            {
                NavigationService.Navigate(typeof(PlaylistView), new Dictionary <string, object>
                {
                    ["playlist"] = playlist
                });
            });

            ShuffleAllCommand = new DelegateCommand(() =>
            {
                List <IAudio> tracks = null;

                switch (_tabIndex)
                {
                case 0:
                    tracks = Tracks.ToList();
                    break;

                case 1:
                    tracks = _wallPosts?.SelectMany(p => p.Tracks).ToList();
                    break;
                }

                if (tracks.IsNullOrEmpty())
                {
                    return;
                }

                tracks.Shuffle();

                AudioService.Instance.PlayAudio(tracks.First(), tracks);
            });

            PlayAllCommand = new DelegateCommand(() =>
            {
                List <IAudio> tracks = null;
                if (_tabIndex == 1)
                {
                    tracks = _wallPosts?.SelectMany(p => p.Tracks).ToList();
                }

                if (tracks.IsNullOrEmpty())
                {
                    return;
                }

                AudioService.Instance.PlayAudio(tracks.First(), tracks);
            });
        }
Esempio n. 2
0
        protected override void InitializeCommands()
        {
            base.InitializeCommands();

            //place other commands here
            AddPlaylistCommand = new DelegateCommand(async() =>
            {
                var newPlaylist = (IPlaylist)await PopupControl.Show <EditPlaylistView>();
                if (newPlaylist != null)
                {
                    Playlists.Insert(0, newPlaylist);
                }
            });

            GoToPlaylistCommand = new DelegateCommand <PlaylistVk>(playlist =>
            {
                NavigationService.Navigate(typeof(PlaylistView), new Dictionary <string, object>
                {
                    ["playlist"] = playlist
                });
            });

            ShuffleAllCommand = new DelegateCommand(() =>
            {
                List <IAudio> tracks = null;
                switch (_tabIndex)
                {
                case 0:
                    tracks = Tracks.ToList();
                    break;

                case 1:
                    tracks = _news?.SelectMany(p => p.Tracks).ToList();
                    break;

                case 2:
                    tracks = _wallPosts?.SelectMany(p => p.Tracks).ToList();
                    break;
                }

                if (tracks.IsNullOrEmpty())
                {
                    return;
                }

                tracks.Shuffle();

                AudioService.Instance.PlayAudio(tracks.First(), tracks);
            });

            PlayAllCommand = new DelegateCommand(() =>
            {
                List <IAudio> tracks = null;
                if (_tabIndex == 1)
                {
                    tracks = _news?.SelectMany(p => p.Tracks).ToList();
                }
                else if (_tabIndex == 2)
                {
                    tracks = _wallPosts?.SelectMany(p => p.Tracks).ToList();
                }

                if (tracks.IsNullOrEmpty())
                {
                    return;
                }

                AudioService.Instance.PlayAudio(tracks.First(), tracks);
            });
        }