/// <summary> /// /// </summary> /// <param name="query"></param> /// <param name="offset"></param> /// <param name="limit"></param> /// <returns></returns> public List <MBAlbum> GetAlbums(String query, String artist, String artistmbid, int offset, int limit) { List <MBAlbum> albumList = new List <MBAlbum>(); String append = String.Empty; if (!String.IsNullOrEmpty(query)) { append += String.Format("&title={0}", query); } if (!String.IsNullOrEmpty(artist)) { append += String.Format("&artist={0}", artist); } if (!String.IsNullOrEmpty(artistmbid)) { append += String.Format("&artistid={0}", artistmbid); } String endpoint = String.Format("http://musicbrainz.org/ws/1/release/?type=xml&releasetypes=Album&offset={0}&limit={1}{2}", offset, limit, append); Object obj = this.ProcessSearchQuery(endpoint, typeof(AlbumNS.metadata)); if (obj == null) { return(null); } AlbumNS.metadata mData = obj as AlbumNS.metadata; if (mData == null) { return(null); } if (mData.releaselist == null || mData.releaselist.release == null || mData.releaselist.release.Length == 0) { return(null); } foreach (AlbumNS.metadataReleaselistRelease xsdRelease in mData.releaselist.release) { MBAlbum mbAlbum = new MBAlbum() { Title = xsdRelease.title, MBID = xsdRelease.id, ArtistName = xsdRelease.artist.name, ArtistMBID = xsdRelease.artist.id }; albumList.Add(mbAlbum); } return(albumList); }
/// <summary> /// /// </summary> /// <param name="query"></param> /// <param name="offset"></param> /// <param name="limit"></param> /// <returns></returns> public List<MBAlbum> GetAlbums(String query,String artist,String artistmbid, int offset, int limit) { List<MBAlbum> albumList = new List<MBAlbum>(); String append = String.Empty; if (!String.IsNullOrEmpty(query)) append += String.Format("&title={0}", query); if (!String.IsNullOrEmpty(artist)) append += String.Format("&artist={0}", artist); if (!String.IsNullOrEmpty(artistmbid)) append += String.Format("&artistid={0}", artistmbid); String endpoint = String.Format("http://musicbrainz.org/ws/1/release/?type=xml&releasetypes=Album&offset={0}&limit={1}{2}", offset, limit, append); Object obj = this.ProcessSearchQuery(endpoint, typeof(AlbumNS.metadata)); if (obj == null) return null; AlbumNS.metadata mData = obj as AlbumNS.metadata; if (mData == null) return null; if (mData.releaselist == null || mData.releaselist.release == null || mData.releaselist.release.Length == 0) return null; foreach (AlbumNS.metadataReleaselistRelease xsdRelease in mData.releaselist.release) { MBAlbum mbAlbum = new MBAlbum() { Title = xsdRelease.title, MBID = xsdRelease.id, ArtistName = xsdRelease.artist.name, ArtistMBID = xsdRelease.artist.id }; albumList.Add(mbAlbum); } return albumList; }