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); } }
private void ProcessPanos(PanoModel panos, string objectDir) { foreach (var pano in panos.Panos) { ProcessPano(pano, panos); } _xmlService.WriteToFile(objectDir); }
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; }