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