Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        /// <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;
        }