TRock.Music.Spotify.SpotifySongProvider.GetAlbums C# (CSharp) Method

GetAlbums() public method

public GetAlbums ( string artistId, CancellationToken cancellationToken ) : Task>
artistId string
cancellationToken System.Threading.CancellationToken
return Task>
        public Task<IEnumerable<Album>> GetAlbums(string artistId, CancellationToken cancellationToken)
        {
            return _client
                .GetAsync(new Uri("http://ws.spotify.com/lookup/1/.json?uri=" + artistId + "&extras=album"), cancellationToken)
                .ContinueWith(requestTask =>
                {
                    var response = requestTask.Result;
                    response.EnsureSuccessStatusCode();

                    var content = response.Content.ReadAsStringAsync().Result;
                    var result = JsonConvert.DeserializeObject<dynamic>(content);

                    var albums = new List<Album>();

                    if (result["artist"] != null)
                    {
                        dynamic items = result["artist"]["albums"].HasValues ? result["artist"]["albums"] : new dynamic[0];

                        foreach (var item in items)
                        {
                            dynamic album = item["album"];

                            if (album != null)
                            {
                                albums.Add(new Album
                                {
                                    Id = album["href"],
                                    Provider = ProviderName,
                                    Name = album["name"],
                                    CoverArt = _imageProvider.GetCoverArtUri(Convert.ToString(album["href"] ?? string.Empty)) ?? string.Empty
                                });
                            }
                        }
                    }

                    return (IEnumerable<Album>)albums;
                });
        }