BuildingMapModel.cs CampusAppWP8::Model::Campusmap::BuildingMapModel CampusAppWP8::Model::Campusmap System::Globalization System::Linq System::Text System::Threading::Tasks usingCampusAppWP8.Model.GeoDb; usingCampusAppWP8.Resources; usingCampusAppWPortalLib8.Utility; usingSystem; usingSystem.Collections.Generic; usingSystem.Globalization; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; usingSystem.Windows; namespaceCampusAppWP8.Model.Campusmap { 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; } } }