private static void ProcessXmlBannerCache([NotNull] XElement r, LocalCache localCache) { //this is a wrapper that provides the seriesId and the Banners List as provided from the website // // // <BannersCache> // <BannersItem Expiry='xx'> // <SeriesId>123</SeriesId> // <Banners> // <Banner> foreach (XElement bannersXml in r.Descendants("BannersItem")) { int seriesId = bannersXml.ExtractInt("SeriesId") ?? -1; localCache.AddBanners(seriesId, bannersXml.Descendants("Banners").Descendants("Banner") .Select(banner => new Banner(seriesId, banner))); } }