BuildingMapModel.cs CampusAppWP8::Model::Campusmap::BuildingMapModel CampusAppWP8::Model::Campusmap System::Globalization System::Linq //----------------------------------------------------------------------- //<copyrightfile="BuildingMapModel.cs"company="BTU/IIT"> //TheMITLicense(MIT).Copyright(c)2013BTU/IIT. //</copyright> //<author>Stubbfel</author> //<date>14.10.2013</date> //<summary>Implementsthebuildingmapmodelclass</summary> //----------------------------------------------------------------------- namespaceCampusAppWP8.Model.Campusmap { usingSystem.Globalization; usingSystem.Linq; usingSystem.Windows; usingCampusAppWP8.Model.GeoDb; usingCampusAppWP8.Resources; usingCampusAppWPortalLib8.Utility; publicclassBuildingMapModel:MapModel { publicBuildingMapModel(stringid) { SpsModelbuildings=XmlManager.DeserializationFileToModel<SpsModel>(Constants.FileMap_BuildingsMap); PlaceModelbuilding=buildings.GetPlaceById(id); if(buildings==null) { return; } this.ImageSource=building.GetInformationsValue("ImageSource"); doubletmpVal; if(double.TryParse(building.GetInformationsValue("ImageWidth"),NumberStyles.Number,CultureInfo.InvariantCulture,outtmpVal)) { this.ImageWidth=tmpVal; } if(double.TryParse(building.GetInformationsValue("ImageHeight"),NumberStyles.Number,CultureInfo.InvariantCulture,outtmpVal)) { this.ImageHeight=tmpVal; } if(double.TryParse(building.GetInformationsValue("MapImageOffsetX"),NumberStyles.Number,CultureInfo.InvariantCulture,outtmpVal)) { this.MapImageOffsetX=tmpVal; } if(double.TryParse(building.GetInformationsValue("MapImageOffsetY"),NumberStyles.Number,CultureInfo.InvariantCulture,outtmpVal)) { this.MapImageOffsetY=tmpVal; } stringpointString=building.GetInformationsValue("MapRefPoint"); pointString=pointString.TrimStart("Point(".ToArray()); pointString=pointString.TrimEnd(')'); string[]coord=pointString.Split(''); if(coord==null||coord.Length!=2) { return; } doublex; doubley; if(!double.TryParse(coord[0],NumberStyles.Number,CultureInfo.InvariantCulture,outx)||!double.TryParse(coord[1],NumberStyles.Number,CultureInfo.InvariantCulture,outy)) { return; } this.RefPoint=newPoint(x,y); if(double.TryParse(building.GetInformationsValue("ScaleX"),NumberStyles.Number,CultureInfo.InvariantCulture,outtmpVal)) { this.ScaleX=tmpVal; } if(double.TryParse(building.GetInformationsValue("ScaleY"),NumberStyles.Number,CultureInfo.InvariantCulture,outtmpVal)) { this.ScaleY=tmpVal; } this.GeoOffsetX=building.GeoRefPoint.Longitude; this.GeoOffsetY=building.GeoRefPoint.Latitude; } } }