public MasterReleaseAggregate(MasterRelease master) { this.master = master; }
public MasterRelease ReadMasterRelease() { this.XmlReader.AssertElementStart("master"); MasterRelease master = new MasterRelease(); master.Id = int.Parse(this.XmlReader.GetAttribute("id")); while (true) { this.XmlReader.AssertRead(); if (this.XmlReader.IsElementEnd("master")) { break; } if (this.XmlReader.IsElementStart("main_release")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.MainRelease = int.Parse(this.XmlReader.ReadContentAsString()); } else if (this.XmlReader.IsElementStart("images")) { master.Images = this.ReadImages(); } else if (this.XmlReader.IsElementStart("artists")) { master.Artists = this.ReadReleaseArtists(); } else if (this.XmlReader.IsElementStart("genres")) { master.Genres = this.ReadGenres(); } else if (this.XmlReader.IsElementStart("styles")) { master.Styles = this.ReadStyles(); } else if (this.XmlReader.IsElementStart("year")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.Year = int.Parse(this.XmlReader.ReadContentAsString()); } else if (this.XmlReader.IsElementStart("title")) { if (!this.XmlReader.IsEmptyElement) { this.XmlReader.AssertRead(); master.Title = this.XmlReader.ReadContentAsString(); } } else if (this.XmlReader.IsElementStart("data_quality")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.DataQuality = DataReader.ParseDataQuality(this.XmlReader.ReadContentAsString()); } else if (this.XmlReader.IsElementStart("tracklist")) { master.Tracklist = this.ReadTracklist(); } else if (this.XmlReader.IsElementStart("videos")) { master.Videos = this.ReadVideos(); } else if (this.XmlReader.IsElementStart("versions")) { master.Versions = this.ReadReleaseVersions(); } else if (this.XmlReader.IsElementStart("notes")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.Notes = this.XmlReader.ReadContentAsString(); } else { this.ThrowInvalidFormatException(); } } return(master); }
public MasterRelease ReadMasterRelease(JObject source) { MasterRelease master = new MasterRelease(); foreach (var item in source) { var v = item.Value; switch (item.Key) { case "id": master.Id = v.Value <int>(); break; case "videos": master.Videos = this.ReadReleaseVideos(v.Value <JArray>()); break; case "series": if (((JArray)v).Count != 0) { this.ThrowIfStrict("Unable to process \"series\" item."); } break; case "year": // We skip year. Can extract it from release date. break; case "images": master.Images = this.ReadImages(v.Value <JArray>()); break; case "genres": master.Genres = v.ValueAsStringArray(); break; case "thumb": // We skip thumb. Can extract it from images. break; case "title": master.Title = v.Value <string>(); break; case "artists": master.Artists = this.ReadReleaseArtists(v.Value <JArray>()); break; case "tracklist": master.Tracklist = this.ReadReleaseTracklist(v.Value <JArray>()); break; case "styles": master.Styles = v.ValueAsStringArray(); break; case "released_formatted": // We skip released_formatted. Can extract it from released. break; case "master_url": // We skip master_url. Can extract it from master_id. break; case "notes": master.Notes = v.Value <string>(); break; case "companies": // TODO: implement model for this break; case "uri": // TODO: implement model for this break; case "resource_url": break; case "data_quality": master.DataQuality = DataReader.ParseDataQuality(v.Value <string>()); break; case "main_release": master.MainRelease = v.Value <int>(); break; case "main_release_url": break; case "versions_url": break; default: this.ThrowIfStrict("Unknown key: " + item.Key); break; } } return(master); }
public MasterRelease ReadMasterRelease() { this.XmlReader.AssertElementStart("master"); MasterRelease master = new MasterRelease(); master.Id = int.Parse(this.XmlReader.GetAttribute("id")); while (true) { this.XmlReader.AssertRead(); if (this.XmlReader.IsElementEnd("master")) { break; } if (this.XmlReader.IsElementStart("main_release")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.MainRelease = int.Parse(this.XmlReader.ReadContentAsString()); } else if (this.XmlReader.IsElementStart("images")) { master.Images = this.ReadImages(); } else if (this.XmlReader.IsElementStart("artists")) { master.Artists = this.ReadReleaseArtists(); } else if (this.XmlReader.IsElementStart("genres")) { master.Genres = this.ReadGenres(); } else if (this.XmlReader.IsElementStart("styles")) { master.Styles = this.ReadStyles(); } else if (this.XmlReader.IsElementStart("year")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.Year = int.Parse(this.XmlReader.ReadContentAsString()); } else if (this.XmlReader.IsElementStart("title")) { if (!this.XmlReader.IsEmptyElement) { this.XmlReader.AssertRead(); master.Title = this.XmlReader.ReadContentAsString(); } } else if (this.XmlReader.IsElementStart("data_quality")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.DataQuality = DataReader.ParseDataQuality(this.XmlReader.ReadContentAsString()); } else if (this.XmlReader.IsElementStart("tracklist")) { master.Tracklist = this.ReadTracklist(); } else if (this.XmlReader.IsElementStart("videos")) { master.Videos = this.ReadVideos(); } else if (this.XmlReader.IsElementStart("versions")) { master.Versions = this.ReadReleaseVersions(); } else if (this.XmlReader.IsElementStart("notes")) { this.XmlReader.AssertNonEmptyElement(); this.XmlReader.AssertRead(); master.Notes = this.XmlReader.ReadContentAsString(); } else { this.ThrowInvalidFormatException(); } } return master; }
public MasterRelease ReadMasterRelease(JObject source) { MasterRelease master = new MasterRelease(); foreach (var item in source) { var v = item.Value; switch (item.Key) { case "id": master.Id = v.Value<int>(); break; case "videos": master.Videos = this.ReadReleaseVideos(v.Value<JArray>()); break; case "series": if (((JArray)v).Count != 0) { this.ThrowIfStrict("Unable to process \"series\" item."); } break; case "year": // We skip year. Can extract it from release date. break; case "images": master.Images = this.ReadImages(v.Value<JArray>()); break; case "genres": master.Genres = v.ValueAsStringArray(); break; case "thumb": // We skip thumb. Can extract it from images. break; case "title": master.Title = v.Value<string>(); break; case "artists": master.Artists = this.ReadReleaseArtists(v.Value<JArray>()); break; case "tracklist": master.Tracklist = this.ReadReleaseTracklist(v.Value<JArray>()); break; case "styles": master.Styles = v.ValueAsStringArray(); break; case "released_formatted": // We skip released_formatted. Can extract it from released. break; case "master_url": // We skip master_url. Can extract it from master_id. break; case "notes": master.Notes = v.Value<string>(); break; case "companies": // TODO: implement model for this break; case "uri": // TODO: implement model for this break; case "resource_url": break; case "data_quality": master.DataQuality = DataReader.ParseDataQuality(v.Value<string>()); break; case "main_release": master.MainRelease = v.Value<int>(); break; case "main_release_url": break; case "versions_url": break; default: this.ThrowIfStrict("Unknown key: " + item.Key); break; } } return master; }