Ejemplo n.º 1
0
        /// <summary>
        /// In order to make out API models less complicated than the mess that Goodreads responds with,
        /// we merge the concept of "series works" and "works" by copying the only
        /// useful piece of information (user position) to the work object.
        /// </summary>
        /// <param name="seriesWorksRootElement">The root element of the list of series works.</param>
        private void ParseSeriesWorks(XElement seriesWorksRootElement)
        {
            var seriesWorkElements = seriesWorksRootElement.Descendants("series_work");

            if (seriesWorkElements.Any())
            {
                var works = new List <Work>();
                foreach (var seriesWorkElement in seriesWorkElements)
                {
                    var work = new Work();

                    var userPosition = seriesWorkElement.ElementAsString("user_position");
                    work.SetUserPosition(userPosition);

                    var workElement = seriesWorkElement.Element("work");
                    if (workElement != null)
                    {
                        work.Parse(workElement);
                    }

                    works.Add(work);
                }

                Works = works;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// In order to make out API models less complicated than the mess that Goodreads responds with,
        /// we merge the concept of "series works" and "works" by copying the only
        /// useful piece of information (user position) to the work object.
        /// </summary>
        /// <param name="seriesWorksRootElement">The root element of the list of series works.</param>
        private void ParseSeriesWorks(XElement seriesWorksRootElement)
        {
            var seriesWorkElements = seriesWorksRootElement.Descendants("series_work");
            if (seriesWorkElements != null && seriesWorkElements.Count() > 0)
            {
                var works = new List<Work>();
                foreach (var seriesWorkElement in seriesWorkElements)
                {
                    var userPosition = seriesWorkElement.ElementAsString("user_position");

                    var workElement = seriesWorkElement.Element("work");
                    if (workElement != null)
                    {
                        var work = new Work();
                        work.Parse(workElement);
                        work.SetUserPosition(userPosition);
                        works.Add(work);
                    }
                }

                Works = works;
            }
        }