public static DiscogsArtist ParseArtist(JObject data) { DiscogsArtist art = new DiscogsArtist { Name = data.GetStringValue("name").FixDiscogsName(), Id = data.GetStringValue("id"), Alias = new List <string>(), Members = new List <DiscogsArtistMembers>(), Images = new List <ImageInfo>() }; //add aliases foreach (var alias in data["namevariations"]) { art.Alias.Add(alias.ToString()); } //add members foreach (JToken mem in data["members"]) { var nMember = new DiscogsArtistMembers { Name = mem.GetStringValue("name"), Id = mem.GetStringValue("id"), IsActive = bool.Parse(mem.GetStringValue("active")) }; art.Members.Add(nMember); } //add images foreach (JToken img in data["images"]) { art.Images.Add(new ImageInfo { Link = img.GetStringValue("uri"), Size = new ImageSize(img.GetStringValue("width").ToInt(), img.GetStringValue("height").ToInt()), }); } return(art); }
public async Task <DiscogsArtist> GetArtistById(string id) { string args = $"/artists/{id}?{_credentials}"; var jsonSource = await GetRequestJson(args); try { JObject json = JObject.Parse(jsonSource); DiscogsArtist art = DiscogsArtist.ParseArtist(json); return(art); } catch (JsonReaderException jException) { throw new Exception(jsonSource, jException); } catch (Exception ex) { throw new Exception("A error as occur", ex); } }