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); }