Beispiel #1
0
        public static YahooMusic videoToObject(XElement objRest)
        {
            if (objRest == null)
            {
                return(null);
            }

            YahooMusic objResults = new YahooMusic();

            var query = from item in objRest.Descendants("Image")
                        select item;

            XElement[] nodes       = query.ToArray();
            int        currentSize = 0;

            foreach (XElement item in nodes)
            {
                int size;
                if (int.TryParse(Util.GetAttributValue(item, "size"), out size))
                {
                    if (size > currentSize)
                    {
                        objResults.albumImage = Util.GetAttributValue(item, "url");
                        currentSize           = size;
                    }
                }
            }

            return(objResults);
        }
Beispiel #2
0
        public static Collection <YahooMusic> albumToCollection(XElement objRest)
        {
            if (objRest == null)
            {
                return(null);
            }

            Collection <YahooMusic> lstResults = new Collection <YahooMusic>();
            var query = from item in objRest.Descendants("Release")
                        select item;

            XElement[] nodes = query.ToArray();
            foreach (XElement node in nodes)
            {
                XElement objTemp = node;

                YahooMusic objItem = new YahooMusic();
                objItem.albumId   = Util.GetAttributValue(objTemp, "id");
                objItem.albumName = Util.GetAttributValue(objTemp, "title");

                var artist = from item in objTemp.Descendants("Artist")
                             select item;
                XElement[] nodeArtist = artist.ToArray();

                XElement objArtist = nodeArtist[0];
                objItem.artistName = Util.GetAttributValue(objArtist, "name");

                var image = from item in objTemp.Descendants("Image")
                            select item;
                XElement[] nodeImage = image.ToArray();

                if (nodeImage.Any())
                {
                    XElement objImage = nodeImage[nodeImage.Count() - 1];
                    objItem.albumImage = Util.GetAttributValue(objImage, "url");
                }

                lstResults.Add(objItem);
            }

            return(lstResults);
        }
Beispiel #3
0
        public static YahooMusic albumToObject(XElement objRest)
        {
            if (objRest == null)
            {
                return(null);
            }

            YahooMusic objResults = new YahooMusic();

            var query = from item in objRest.Descendants("Release")
                        select item;

            XElement[] nodes = query.ToArray();
            XElement   objTemp;

            if (nodes.Any())
            {
                objTemp = nodes[0];
                objResults.albumName     = Util.GetAttributValue(objTemp, "title");
                objResults.albumBarcode  = Util.GetAttributValue(objTemp, "UPC");
                objResults.albumReleased = Util.GetAttributValue(objTemp, "releaseDate");
                objResults.albumUrl      = Util.GetAttributValue(objTemp, "url");
                objResults.studio        = Util.GetAttributValue(objTemp, "label");
                objResults.albumRating   = Util.GetAttributValue(objTemp, "rating");
                objResults.albumFlags    = Util.GetAttributValue(objTemp, "flags");
            }

            #region Tracks
            query = from item in objRest.Descendants("Track")
                    select item;

            nodes = query.ToArray();
            objResults.albumDuration = 0;
            objResults.albumTracks   = new List <string>();

            foreach (XElement item in nodes)
            {
                objResults.albumTracks.Add(Util.GetAttributValue(item, "title"));
                int duration;
                if (int.TryParse(Util.GetAttributValue(item, "duration"), out duration))
                {
                    objResults.albumDuration += duration;
                }

                if (string.IsNullOrWhiteSpace(objResults.trackId))
                {
                    objResults.trackId = Util.GetAttributValue(item, "id");
                }
            }

            #endregion
            query = from item in objRest.Descendants("Artist")
                    select item;

            nodes = query.ToArray();
            if (nodes.Any())
            {
                objTemp = nodes[0];
                objResults.artistName = Util.GetAttributValue(objTemp, "name");
                objResults.artistUrl  = Util.GetAttributValue(objTemp, "website");
            }

            query = from item in objRest.Descendants("Category")
                    select item;

            nodes = query.ToArray();
            if (nodes.Length > 0)
            {
                objResults.albumTypes = new List <string>();
                foreach (XElement item in nodes)
                {
                    if (Util.GetAttributValue(item, "type") == "Genre")
                    {
                        objResults.albumTypes.Add(Util.GetAttributValue(item, "name"));
                    }
                }
            }

            return(objResults);
        }