Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 public int GetIndex(Pano pano)
 {
     for (int i = 0; i < Panos.Count; i++)
     {
         if (Panos[i] == pano) return i;
     }
     return -1;
 }
Esempio n. 5
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);
            }
        }