Example #1
0
        /// <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);
        }
Example #2
0
        /// <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;
        }