/// <summary> /// Retreve a collection of top albums by an artist via LastFmClient. /// </summary> /// <param name="name">The artists name.</param> /// <returns>A list of Albums.</returns> public async Task <List <Album> > GetArtistTopAlbums(string name) { try { Debug.WriteLine("Getting TopAlbums from LastFM API"); var lastFmClient = new HttpClient(); var response = await lastFmClient.GetStringAsync( string.Format("http://ws.audioscrobbler.com/2.0/?method=artist.gettopalbums&limit=8&format=json&api_key={0}&artist={1}", App.ApiKeyLastFm, name)); var albums = JsonConvert.DeserializeObject <TopAlbumInformation>(response); Debug.WriteLine("Receive TopAlbums from LastFM API"); if (albums == null) { return(null); } var albumList = albums.TopAlbums.Album; var formattedAlbumList = new List <Album>(); foreach (var topAlbum in albumList) { var album = new Album(); album.MapFrom(topAlbum); formattedAlbumList.Add(album); } return(formattedAlbumList); } catch { Debug.WriteLine("Error getting top albums from artist."); } return(null); }
public async Task<List<Album>> GetArtistTopAlbums(string artistId) { var music = await GetMusicEntityViaArtistId(new []{artistId}, new[] { Extras.Albums }); var xboxArtistItem = music.Artists.Items.FirstOrDefault(); if (xboxArtistItem == null) return null; Debug.WriteLine("XBOX Music artist found : " + xboxArtistItem.Name); var albumList = new List<Album>(); // TODO: Use token to continue request if needed. foreach (var xboxAlbum in xboxArtistItem.Albums.Items) { var album = new Album(); album.MapFrom(xboxAlbum); albumList.Add(album); } return albumList; }
public async Task <List <Album> > GetArtistTopAlbums(string artistId) { var music = await GetMusicEntityViaArtistId(new [] { artistId }, new[] { Extras.Albums }); var xboxArtistItem = music.Artists.Items.FirstOrDefault(); if (xboxArtistItem == null) { return(null); } Debug.WriteLine("XBOX Music artist found : " + xboxArtistItem.Name); var albumList = new List <Album>(); // TODO: Use token to continue request if needed. foreach (var xboxAlbum in xboxArtistItem.Albums.Items) { var album = new Album(); album.MapFrom(xboxAlbum); albumList.Add(album); } return(albumList); }
/// <summary> /// Retreve a collection of top albums by an artist via LastFmClient. /// </summary> /// <param name="name">The artists name.</param> /// <returns>A list of Albums.</returns> public async Task<List<Album>> GetArtistTopAlbums(string name) { try { Debug.WriteLine("Getting TopAlbums from LastFM API"); var lastFmClient = new HttpClient(); var response = await lastFmClient.GetStringAsync( string.Format("http://ws.audioscrobbler.com/2.0/?method=artist.gettopalbums&limit=8&format=json&api_key={0}&artist={1}", App.ApiKeyLastFm, name)); var albums = JsonConvert.DeserializeObject<TopAlbumInformation>(response); Debug.WriteLine("Receive TopAlbums from LastFM API"); if (albums == null) return null; var albumList = albums.TopAlbums.Album; var formattedAlbumList = new List<Album>(); foreach (var topAlbum in albumList) { var album = new Album(); album.MapFrom(topAlbum); formattedAlbumList.Add(album); } return formattedAlbumList; } catch { Debug.WriteLine("Error getting top albums from artist."); } return null; }