public String AddSongToPlayList(String playlistName, String songName, String artist)
        {
            if (mProfile == null || mSpotify == null)
            {
                return("you need to connect to spotify before you can use this feature");
            }

            if (playlists == null)
            {
                playlists = mSpotify.GetUserPlaylists(mProfile.Id).Items;
            }

            Models.SimplePlaylist playlist = playlists.Find(x => x.Name == playlistName);

            if (playlist == null)
            {
                return($"could not find playlist {playlistName}");
            }

            Models.SearchItem search = mSpotify.SearchItems(songName, Enums.SearchType.Track);

            if (search.Tracks == null || search.Tracks.Items.Count == 0)
            {
                return($"could not find song {songName}");
            }

            Models.FullTrack songData = search.Tracks.Items.Find(x => String.Equals(x.Artists[0].Name, artist, StringComparison.OrdinalIgnoreCase));

            if (songData == null)
            {
                return($"could not find song {songName} by {artist}");
            }

            Models.ErrorResponse error = mSpotify.AddPlaylistTrack(mProfile.Id, playlist.Id, songData.Uri);

            if (error.Error != null)
            {
                return(error.Error.Message);
            }

            return($"{songName} by {artist} was sucessfully added to {playlistName}");
        }
Esempio n. 2
0
 private static void LogIfError(string q, SearchItem searchItem)
 {
     if (searchItem.HasError())
     {
         Debug.WriteLine($"Spotify returned an error: {searchItem.Error}");
         Debug.WriteLine($"Request was: {q}");
     }
 }