Exemple #1
0
        public async Task <ShuffleResponse> ShufflePlaylist(Models.PlaylistRequest request)
        {
            var copiedPlaylist = await CopyPlaylist(request);

            var tracks = await GetPlaylistTracks(request);

            await AddTracks(new AddTracksRequest { PlaylistId = copiedPlaylist.Id, Tracks = tracks.Select(t => t.Uri).Shuffle() });

            Reset();
            var envelope = await _spotifyWebApi.Get <Envelope <Playlist> >(SpotifyApi.Playlists(Me), Token);

            Playlists.AddRange(envelope.Items);
            tracks = await GetPlaylistTracks(new Models.PlaylistRequest {
                PlaylistId = copiedPlaylist.Id
            });

            return(new ShuffleResponse {
                PlaylistName = copiedPlaylist.Name, TracksAdded = tracks.Count()
            });
        }
        private async Task LoadPlaylists()
        {
            Playlists.Clear();

            var playlist = await spotify.GetPlaylistsAsync();

            if (playlist == null)
            {
                return;
            }

            Playlists.AddRange(playlist.Items);

            do
            {
                playlist = await spotify.GetNextPageAsync <Playlist, PlaylistItem>(playlist);

                Playlists.AddRange(playlist.Items);
            }while (playlist.HasNextPage);
        }