Beispiel #1
0
        public async Task <LastFmAlbum> GetInfo(string mbid, string album, string artist, bool autoCorrect = true)
        {
            var parameters = new Dictionary <string, string>();

            if (!string.IsNullOrEmpty(mbid))
            {
                parameters.Add("mbid", mbid);
            }
            else
            {
                parameters.Add("album", album);
                parameters.Add("artist", artist);
            }

            if (autoCorrect)
            {
                parameters.Add("autocorrect", "1");
            }

            parameters.Add("api_key", _lastFm.ApiKey);

            var response = await(new CoreRequest(new Uri(LastFmConst.MethodBase + "album.getInfo"), parameters).Execute());

            LastFmErrorProcessor.ProcessError(response);


            if (response["album"] != null)
            {
                return(LastFmAlbum.FromJson(response["album"]));
            }

            return(null);
        }
Beispiel #2
0
        public async Task <List <LastFmAlbum> > Search(string album, int limit = 0)
        {
            var parameters = new Dictionary <string, string>();

            parameters.Add("album", album);
            if (limit > 0)
            {
                parameters.Add("limit", limit.ToString());
            }
            parameters.Add("api_key", _lastFm.ApiKey);

            var response = await(new CoreRequest(new Uri(LastFmConst.MethodBase + "album.search"), parameters).Execute());

            LastFmErrorProcessor.ProcessError(response);


            if (response.SelectToken("results.albummatches.album") != null)
            {
                var albumJson = response.SelectToken("results.albummatches.album");
                if (albumJson is JArray)
                {
                    return
                        ((from a in response.SelectToken("results.albummatches.album") select LastFmAlbum.FromJson(a)).ToList());
                }
                else
                {
                    return new List <LastFmAlbum>()
                           {
                               LastFmAlbum.FromJson(albumJson)
                           }
                };
            }

            return(null);
        }