Ejemplo n.º 1
0
        public static ArtistMember Create(JsonElement element)
        {
            ArtistMember member = new ArtistMember();

            foreach (var property in element.EnumerateObject())
            {
                switch (property.Name)
                {
                case "active":
                    member.IsActive = property.Value.GetBoolean();
                    break;

                case "resource_url":
                    member.ResourceURL = property.Value.GetString();
                    break;

                case "id":
                    member.Id = property.Value.GetInt32();
                    break;

                case "name":
                    member.Name = property.Value.GetString();
                    break;

                default:
                    throw new Exception(string.Format("Unrecognised parameter when creating the Discogs ArtistMember Object. Parameter is: {0}", property.Name));
                }
            }
            return(member);
        }
Ejemplo n.º 2
0
        static public Artist Create(string jsonIn)
        {
            Artist artist = new Artist();

            var obj = JsonDocument.Parse(jsonIn).RootElement;

            foreach (var item in obj.EnumerateObject())
            {
                switch (item.Name)
                {
                case "urls":
                    artist.URLs = new List <string>();
                    foreach (var arrayItem in item.Value.EnumerateArray())
                    {
                        artist.URLs.Add(arrayItem.GetString());
                    }
                    break;

                case "profile":
                    artist.Pofile = item.Value.GetString();
                    break;

                case "releases_url":
                    artist.ReleasesURL = item.Value.GetString();
                    break;

                case "name":
                    artist.Name = item.Value.GetString();
                    break;

                case "uri":
                    artist.WebURL = item.Value.GetString();
                    break;

                case "members":
                    artist.Members = new List <ArtistMember>();
                    foreach (var member in item.Value.EnumerateArray())
                    {
                        artist.Members.Add(ArtistMember.Create(member));
                    }
                    break;

                case "images":
                    artist.Images = new List <Image>();
                    foreach (var member in item.Value.EnumerateArray())
                    {
                        artist.Images.Add(Image.Create(member));
                    }
                    break;

                case "resource_url":
                    artist.ResourceURL = item.Value.GetString();
                    break;

                case "id":
                    artist.id = item.Value.GetInt32();
                    break;

                case "data_quality":
                    artist.DataQuality = item.Value.GetString();
                    break;

                default:
                    throw new Exception(string.Format("Unrecognised parameter when creating the Discogs Artist Object. Parameter is: {0}", item.Name));
                }
            }

            return(artist);
        }