Пример #1
0
        private void ProcessPano(Pano pano, PanoModel panoModel)
        {
            HttpResponseMessage result;
            var soortAanbod = panoModel.SoortAanbod;

            using (var client = new HttpClient())
            {
                result = client.GetAsync($"http://partnerapi.funda.nl/feeds/MijnFunda.svc/GetKrpanoXmlContent/?type={soortAanbod}&globalId={panoModel.GlobalId}&mediaGuid={pano.Id}").Result;
            }

            if (result.IsSuccessStatusCode)
            {
                var xml = result.Content.ReadAsStringAsync().Result;
                var xdoc = XDocument.Parse(Sanitize(xml));
                var images = xdoc.Root.Descendants("tablet").Descendants();
                _xmlService.AddScene(pano, GetHotspots(xdoc, panoModel), images.First().FirstAttribute.Value);
            }
            else
            {
                Console.WriteLine(result.ReasonPhrase);
            }
        }
Пример #2
0
 private void ProcessPanos(PanoModel panos, string objectDir)
 {
     foreach (var pano in panos.Panos)
     {
         ProcessPano(pano, panos);
     }
     _xmlService.WriteToFile(objectDir);
 }
Пример #3
0
        private static IEnumerable<XElement> GetHotspots(XDocument xdoc, PanoModel panos)
        {
            var hotspots = xdoc.Root.Descendants("hotspot");
            foreach (var hotspot in hotspots)
            {
                if (!hotspot.Attribute("style").Value.Equals("infospot"))
                {
                    hotspot.SetAttributeValue("style", "hotspotstyle");
                    var linkedScene = new XAttribute("linkedscene", panos.Panos.FirstOrDefault(p => p.Id.Equals(hotspot.Attribute("href").Value)).Omschrijving);
                    hotspot.Attribute("href").Remove();
                    hotspot.Add(linkedScene);
                }
            }

            return hotspots;
        }