public PanoModel(List<RootObject> items) { Items = items; Panos = new List<Pano>(); foreach (var item in items) { var pano = new Pano(); pano.Omschrijving = item.Omschrijving; pano.Url = "http://www.funda.nl"; Panos.Add(pano); } }
public PanoModel(List<RootObject> items, string globalId, string soortAanbod) { Items = items; GlobalId = globalId; SoortAanbod = soortAanbod; Panos = new List<Pano>(); foreach (var item in items) { var pano = new Pano(); pano.Omschrijving = item.Omschrijving; if (Panos.Any(p => p.Omschrijving.Equals(item.Omschrijving))) { pano.Omschrijving += item.IndexNumber; } pano.Id = item.Id; pano.Url = item.MediaItems.Where(mi => mi.Category == 23).Select(mi => mi.Url).FirstOrDefault(); Panos.Add(pano); } }
public void AddScene(Pano pano, IEnumerable<XElement> hotspots, string imageUrl) { var scene = new XElement("scene"); var sceneName = new XAttribute("name", pano.Omschrijving); scene.Add(sceneName); // Images var image = new XElement("image"); var cube = new XElement("cube"); var cubeUrl = new XAttribute("url", imageUrl.Replace("_l", "_%s")); cube.Add(cubeUrl); image.Add(cube); scene.Add(image); // Hotspots foreach (var spot in hotspots) { scene.Add(spot); } _tourXml.Add(scene); }
public int GetIndex(Pano pano) { for (int i = 0; i < Panos.Count; i++) { if (Panos[i] == pano) return i; } return -1; }
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); } }