From cbe5325785f71b6db919c8373ac31e4fd10519f4 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 19 Aug 2013 11:11:24 +0200 Subject: [PATCH 1/4] mv dispatcher --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 6 +- .../Pages/Campusmap/CampusMapPage.xaml.cs | 79 +++++++++--------- .../Toolkit.Content/ApplicationBar.Add.png | Bin 0 -> 339 bytes CampusAppWP8/CampusAppWP8/packages.config | 1 + 4 files changed, 44 insertions(+), 42 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Toolkit.Content/ApplicationBar.Add.png diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 69a8462f..49f9a372 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -427,6 +427,7 @@ + @@ -449,8 +450,9 @@ - - ..\packages\WPToolkit.4.2013.06.11\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll + + False + ..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index bf6ed617..42ce2b8b 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -9,6 +9,7 @@ namespace CampusAppWP8.Pages.Campusmap { using System; using System.Globalization; + using System.Threading; using System.Windows; using System.Windows.Navigation; using CampusAppWP8.Model.Campusmap; @@ -16,19 +17,15 @@ namespace CampusAppWP8.Pages.Campusmap using CampusAppWP8.Utility; using Microsoft.Phone.Controls; - /// - /// Class for the campusMap page - /// + /// Class for the campusMap page. + /// Stubbfel, 19.08.2013. public partial class CampusMapPage : PhoneApplicationPage { - /// - /// Variable for the map model - /// + /// Variable for the map model. private MapModel map; - /// - /// Initializes a new instance of the class. - /// + /// Initializes a new instance of the class. + /// Stubbfel, 19.08.2013. public CampusMapPage() { this.InitializeComponent(); @@ -36,31 +33,28 @@ namespace CampusAppWP8.Pages.Campusmap this.MapCanvas.DataContext = this.map; } - /// - /// Methods overrides the OnNavigatedTo-Method - /// - /// some NavigationEventArgs + /// Methods overrides the OnNavigatedTo-Method. + /// Stubbfel, 19.08.2013. + /// some NavigationEventArgs. protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); this.ShowCurrentPositionDispatcher(); } - /// - /// Button click method - /// - /// caller object - /// some EventArgs + /// Button click method. + /// Stubbfel, 19.08.2013. + /// caller object. + /// some EventArgs. private void Button_Click(object sender, RoutedEventArgs e) { this.AddPin(double.Parse(XPoint.Text), double.Parse(YPoint.Text)); } - /// - /// Add Pin to an certain position - /// - /// longitude parameter - /// latitude parameter + /// Add Pin to an certain position. + /// Stubbfel, 19.08.2013. + /// longitude parameter. + /// latitude parameter. private void AddPin(double x, double y) { MapCanvas.Children.Clear(); @@ -74,39 +68,44 @@ namespace CampusAppWP8.Pages.Campusmap YPoint.Text = y.ToString(); } - /// - /// On clicking the update button in the ApplicationBar. - /// - /// caller object - /// some EventArgs + /// On clicking the update button in the ApplicationBar. + /// Stubbfel, 19.08.2013. + /// caller object. + /// some EventArgs. private void UpdateButtonAppBar_Click(object sender, System.EventArgs e) { this.ShowCurrentPositionDispatcher(); } - /// - /// execute ShowCurrentPosition-Method via Dispatcher - /// + /// execute ShowCurrentPosition-Method via Dispatcher. + /// Stubbfel, 19.08.2013. private void ShowCurrentPositionDispatcher() { ProgressBar.Visibility = Visibility.Visible; + Thread thread = new Thread(new ThreadStart(this.ShowCurrentPosition)); + thread.Start(); + } + + /// Method add a pin on the at the position of the phone. + /// Stubbfel, 19.08.2013. + private void ShowCurrentPosition() + { + Utilities.DetermineAndStoreCurrentPositionForce(); if (this.Dispatcher != null) { - this.Dispatcher.BeginInvoke(new Action(() => this.ShowCurrentPosition())); + this.Dispatcher.BeginInvoke(new Action(() => this.SetPinToCurrentPosition())); } else { - this.ShowCurrentPosition(); - } + this.SetPinToCurrentPosition(); + } } - /// - /// Method add a pin on the at the position of the phone - /// - private void ShowCurrentPosition() - { - Utilities.DetermineAndStoreCurrentPositionForce(); + /// Sets pin to current position. + /// Stubbfel, 19.08.2013. + private void SetPinToCurrentPosition() + { string lat = App.LoadFromAppState(Constants.GeoWatch_CurrentPosition_Lat); string log = App.LoadFromAppState(Constants.GeoWatch_CurrentPosition_Long); double x; diff --git a/CampusAppWP8/CampusAppWP8/Toolkit.Content/ApplicationBar.Add.png b/CampusAppWP8/CampusAppWP8/Toolkit.Content/ApplicationBar.Add.png new file mode 100644 index 0000000000000000000000000000000000000000..4b524d6f14c6da928c2c8d2568b08eb761eee4c8 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0y~yVDJH94mJh`hU3!%wHX)~BuiW)N`mv#O3D+9QW+dm z@{>{(JaZG%Q-e|yQz{EjrrIztFnslNaSW-r_2!Nv?;!(;hCnZ^1fdBHEuIINgaR5^ z=Oi$4PHt$P|L#yO_Zn5rlfNgm9=^1!+PgfVMMTiL_MRN0LBfFsMqwn9SuLUWl&-qB zX0DvHVEd=SC=1)EJM&Gmv%iJ@u?bwgxJWixr~Lg>t6b0XNV-5K{L(W0ck + \ No newline at end of file From 51a8e4e515f0d00b087ab4abc254f72d25a09dcf Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 19 Aug 2013 15:39:19 +0200 Subject: [PATCH 2/4] add placesearch --- .../CampusAppWP8/Api/GeoApi/CampusSpsApi.cs | 1 + CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 2 + .../Model/Campusmap/CBMainMapModel.cs | 31 ++++++++++ .../CampusAppWP8/Model/Campusmap/MapModel.cs | 11 ++++ .../Model/GeoDb/PlaceInformation.cs | 26 +++++++++ .../CampusAppWP8/Model/GeoDb/PlaceModel.cs | 51 ++++++++++++++++ .../CampusAppWP8/Model/GeoDb/PlaceService.cs | 32 ++++++++++ .../CampusAppWP8/Model/GeoDb/SpsModel.cs | 54 +++++++++++++++++ .../Pages/Campusmap/CampusMapPage.xaml | 10 +++- .../Pages/Campusmap/CampusMapPage.xaml.cs | 58 +++++++++++++++++-- .../Pages/Mensa/MensaPage.xaml.cs | 20 ++++--- .../Resources/Constants.Designer.cs | 9 +++ .../CampusAppWP8/Resources/Constants.resx | 3 + 13 files changed, 291 insertions(+), 17 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceInformation.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceService.cs diff --git a/CampusAppWP8/CampusAppWP8/Api/GeoApi/CampusSpsApi.cs b/CampusAppWP8/CampusAppWP8/Api/GeoApi/CampusSpsApi.cs index 06311c97..3502c684 100644 --- a/CampusAppWP8/CampusAppWP8/Api/GeoApi/CampusSpsApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/GeoApi/CampusSpsApi.cs @@ -14,6 +14,7 @@ namespace CampusAppWP8.Feed.GeoApi using CampusAppWP8.Model.Utility; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using System.Device.Location; /// /// Class for SPSAPI diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 49f9a372..1df934e5 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -105,7 +105,9 @@ + + diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs index 6360352a..f10d1056 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs @@ -7,7 +7,9 @@ //----------------------------------------------------------------------------- namespace CampusAppWP8.Model.Campusmap { + using System.Collections.ObjectModel; using System.Windows; + using CampusAppWP8.Model.GeoDb; /// /// Class for the MapModel of the mainCampus of cottbus @@ -30,5 +32,34 @@ namespace CampusAppWP8.Model.Campusmap this.GeoOffsetX = 14.327159; this.GeoOffsetY = 51.766548; } + + /// Loads the spatial./. + /// Stubbfel, 19.08.2013. + protected override void LoadSpatials() + { + ObservableCollection places = new ObservableCollection(); + ObservableCollection infos = new ObservableCollection(); + + infos.Add(new PlaceInformation() { InformationName = "name", InformationValue = "Campus Cottbus Mitte" }); + infos.Add(new PlaceInformation() { InformationName = "type", InformationValue = "campus" }); + places.Add(new PlaceModel() { PlaceId = "1", RefPoint = "POINT(14.324056352976152 51.76737987049448)", Informations = infos }); + + infos = new ObservableCollection(); + infos.Add(new PlaceInformation() { InformationName = "name", InformationValue = "MZG" }); + infos.Add(new PlaceInformation() { InformationName = "type", InformationValue = "Mehrzweck" }); + places.Add(new PlaceModel() { PlaceId = "5", ParentId = "1", RefPoint = "POINT(14.321714914733889 51.76608468494122)", Informations = infos }); + + infos = new ObservableCollection(); + infos.Add(new PlaceInformation() { InformationName = "name", InformationValue = "BTU Mensa" }); + infos.Add(new PlaceInformation() { InformationName = "type", InformationValue = "restaurant" }); + places.Add(new PlaceModel() { PlaceId = "145280193", ParentId = "1", RefPoint = "POINT(14.326168833333334 51.76649038666667)", Informations = infos }); + + if (this.Spatial == null) + { + this.Spatial = new SpsModel(); + } + + this.Spatial.Places = places; + } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs index c015d99f..38e1ef38 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/MapModel.cs @@ -11,6 +11,7 @@ namespace CampusAppWP8.Model.Campusmap using System.Windows; using System.Windows.Controls; using System.Windows.Media.Imaging; + using CampusAppWP8.Model.GeoDb; /// /// This Class manage the properties of a Map @@ -24,6 +25,7 @@ namespace CampusAppWP8.Model.Campusmap /// public MapModel() { + this.LoadSpatials(); } #endregion @@ -80,6 +82,10 @@ namespace CampusAppWP8.Model.Campusmap /// public Point RefPoint { get; set; } + /// Gets or sets the spatial of the map. + /// The spatial. + public SpsModel Spatial { get; set; } + #endregion #region Methods @@ -199,6 +205,11 @@ namespace CampusAppWP8.Model.Campusmap return this.ConverToMapPoint(point.X, point.Y); } + /// Loads the spatial./ + /// Stubbfel, 19.08.2013. + protected virtual void LoadSpatials() + { + } #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceInformation.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceInformation.cs new file mode 100644 index 00000000..ee09ea34 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceInformation.cs @@ -0,0 +1,26 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 19.08.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Model.GeoDb +{ + using System.Xml.Serialization; + + /// Information about the place. + /// Stubbfel, 19.08.2013. + public class PlaceInformation + { + /// Gets or sets the name of the information. + /// The name of the information. + [XmlElement("placeInformationName")] + public string InformationName { get; set; } + + /// Gets or sets the information value. + /// The information value. + [XmlText] + public string InformationValue { get; set; } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs index 68acbbbe..876a7701 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs @@ -8,7 +8,14 @@ namespace CampusAppWP8.Model.GeoDb { + using System; + using System.Collections.ObjectModel; + using System.Device.Location; + using System.Globalization; + using System.Text.RegularExpressions; using System.Xml.Serialization; + using CampusAppWP8.Resources; + using CampusAppWP8.Utility; /// /// Model for a place of the SPSService @@ -32,5 +39,49 @@ namespace CampusAppWP8.Model.GeoDb /// [XmlAttribute("refpoint")] public string RefPoint { get; set; } + + /// Gets the geo reference point. + /// The geo reference point. + public GeoCoordinate GeoRefPoint + { + get + { + string refstring = this.RefPoint; + Regex rx = new Regex(Constants.Regex_Coordinate); + MatchCollection matches = rx.Matches(refstring); + if (matches.Count != 1) + { + return null; + } + + string[] values = matches[0].ToString().Split(' '); + + if (values.Length != 2) + { + return null; + } + + // create the GeoCoordirate + try + { + return new GeoCoordinate(double.Parse(values[1], CultureInfo.InvariantCulture), double.Parse(values[0], CultureInfo.InvariantCulture)); + } + catch (Exception ex) + { + Logger.LogException(ex); + return null; + } + } + } + + /// Gets or sets the information. + /// The information. + [XmlElement("placeInformation")] + public ObservableCollection Informations { get; set; } + + /// Gets or sets the services. + /// The services. + [XmlElement("placeService")] + public ObservableCollection Services { get; set; } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceService.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceService.cs new file mode 100644 index 00000000..f0a22000 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceService.cs @@ -0,0 +1,32 @@ +//----------------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 19.08.2013 +//----------------------------------------------------------------------------- + +namespace CampusAppWP8.Model.GeoDb +{ + using System.Xml.Serialization; + + /// Place service. + /// Stubbfel, 19.08.2013. + public class PlaceService + { + /// Gets or sets the name of the service. + /// The name of the service. + [XmlAttribute("placeServiceName")] + public string ServiceName { get; set; } + + /// Gets or sets the SAP of an service. + /// The sap. + [XmlElement("sap")] + public string SAP { get; set; } + + /// Gets or sets the request for a place. + /// The request. + [XmlElement("request")] + public string Request { get; set; } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs index 0b4fea86..2970ee95 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs @@ -8,7 +8,9 @@ namespace CampusAppWP8.Model.GeoDb { + using System.Collections.Generic; using System.Collections.ObjectModel; + using System.Linq; using System.Xml.Serialization; /// @@ -22,5 +24,57 @@ namespace CampusAppWP8.Model.GeoDb /// [XmlElement("place")] public ObservableCollection Places { get; set; } + + /// Gets places by information. + /// Stubbfel, 19.08.2013. + /// The query. + /// (Optional) the ignore cases. + /// (Optional) name of the information. + /// The places by information. + public List GetPlacesByInformation(string query, bool ignoreCases = true, string informationName = null) + { + string querryLow = string.Empty; + IEnumerable resultplaces = null; + + // select correct statement + if (ignoreCases && informationName == null) + { + querryLow = query.ToLower(); + resultplaces = from place in this.Places + from info in place.Informations + where info.InformationValue.ToLower().Contains(querryLow) + select place; + } + else if (ignoreCases && informationName != null) + { + querryLow = query.ToLower(); + resultplaces = from place in this.Places + from info in place.Informations + where info.InformationValue.ToLower().Contains(querryLow) && info.InformationName.Equals(informationName) + select place; + } + else if (!ignoreCases && informationName == null) + { + resultplaces = from place in this.Places + from info in place.Informations + where info.InformationValue.Contains(querryLow) + select place; + } + else if (!ignoreCases && informationName != null) + { + resultplaces = from place in this.Places + from info in place.Informations + where info.InformationValue.Contains(querryLow) && info.InformationName.Equals(informationName) + select place; + } + + // null assert + if (resultplaces == null) + { + return null; + } + + return resultplaces.ToList(); + } } } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml index fc512ed1..cf91d39f 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml @@ -35,11 +35,11 @@ - + - + + + + + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs index 42ce2b8b..ddc82665 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs @@ -8,11 +8,14 @@ namespace CampusAppWP8.Pages.Campusmap { using System; + using System.Collections.Generic; + using System.Device.Location; using System.Globalization; using System.Threading; using System.Windows; using System.Windows.Navigation; using CampusAppWP8.Model.Campusmap; + using CampusAppWP8.Model.GeoDb; using CampusAppWP8.Resources; using CampusAppWP8.Utility; using Microsoft.Phone.Controls; @@ -39,7 +42,9 @@ namespace CampusAppWP8.Pages.Campusmap protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); - this.ShowCurrentPositionDispatcher(); + MapCanvas.Children.Clear(); + this.AddPins(this.SearchPlaces("campus")); + this.ShowCurrentPositionDispatcher(); } /// Button click method. @@ -48,7 +53,48 @@ namespace CampusAppWP8.Pages.Campusmap /// some EventArgs. private void Button_Click(object sender, RoutedEventArgs e) { - this.AddPin(double.Parse(XPoint.Text), double.Parse(YPoint.Text)); + // this.AddPin(double.Parse(XPoint.Text), double.Parse(YPoint.Text)); + } + + /// Button click method. + /// Stubbfel, 19.08.2013. + /// caller object. + /// some EventArgs. + private void Button_Click2(object sender, RoutedEventArgs e) + { + string query = QString.Text.Trim(); + + if (query.Equals(string.Empty)) + { + return; + } + + MapCanvas.Children.Clear(); + this.AddPins(this.SearchPlaces(query)); + } + + /// Searches for the first places. + /// Stubbfel, 19.08.2013. + /// The query. + /// The found places. + private List SearchPlaces(string query) + { + return this.map.Spatial.GetPlacesByInformation(query); + } + + /// Adds the pins. + /// Stubbfel, 19.08.2013. + /// The places. + private void AddPins(List places) + { + foreach (PlaceModel place in places) + { + GeoCoordinate coor = place.GeoRefPoint; + if (coor != null) + { + this.AddPin(coor.Longitude, coor.Latitude); + } + } } /// Add Pin to an certain position. @@ -57,15 +103,15 @@ namespace CampusAppWP8.Pages.Campusmap /// latitude parameter. private void AddPin(double x, double y) { - MapCanvas.Children.Clear(); Point scrollPoint = this.map.GetScrollPoint(this.map.ConverToPixelPoint(this.map.ConverToMapPoint(x, y))); MapCanvas.Children.Add(this.map.AddPinFromRefPoint(this.map.ConverToPixelPoint(this.map.ConverToMapPoint(x, y)))); MapScroller.UpdateLayout(); MapScroller.ScrollToVerticalOffset(scrollPoint.Y); MapScroller.ScrollToHorizontalOffset(scrollPoint.X); - XPoint.Text = x.ToString(); - YPoint.Text = y.ToString(); + + // XPoint.Text = x.ToString(); + // YPoint.Text = y.ToString(); } /// On clicking the update button in the ApplicationBar. @@ -74,7 +120,7 @@ namespace CampusAppWP8.Pages.Campusmap /// some EventArgs. private void UpdateButtonAppBar_Click(object sender, System.EventArgs e) { - this.ShowCurrentPositionDispatcher(); + this.ShowCurrentPositionDispatcher(); } /// execute ShowCurrentPosition-Method via Dispatcher. diff --git a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs index 234d15b4..b1931f73 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs @@ -15,6 +15,7 @@ namespace CampusAppWP8.Pages.Mensa using CampusAppWP8.Resources; using CampusAppWP8.Utility.Lui.MessageBoxes; using Microsoft.Phone.Controls; + using System.Threading; /// /// Class for the MensaPage @@ -99,7 +100,14 @@ namespace CampusAppWP8.Pages.Mensa /// private void SpsApiIsReady() { - this.InitializeFeed(this.campusApi.GetCampus()); + if (this.Dispatcher != null) + { + this.Dispatcher.BeginInvoke(new Action(() => this.InitializeFeed(this.campusApi.GetCampus()))); + } + else + { + this.InitializeFeed(this.campusApi.GetCampus()); + } } /// @@ -153,14 +161,8 @@ namespace CampusAppWP8.Pages.Mensa { if (Settings.AppSetting.GeoWatchEnable) { - if (this.Dispatcher != null) - { - this.Dispatcher.BeginInvoke(new Action(() => this.DeterminCurrentCampusAndLoadFeed())); - } - else - { - this.DeterminCurrentCampusAndLoadFeed(); - } + Thread thread = new Thread(new ThreadStart( this.DeterminCurrentCampusAndLoadFeed)); + thread.Start(); } else { diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs index 8509b945..b0d84d4e 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs @@ -645,6 +645,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die [+-]{0,1}[0-9]+[.,]{0,1}[0-9]+[\s][+-]{0,1}[0-9]+[.,]{0,1}[0-9]+ ähnelt. + /// + public static string Regex_Coordinate { + get { + return ResourceManager.GetString("Regex_Coordinate", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die 767 ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 7463f1be..4366a89a 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -408,4 +408,7 @@ /Pages/Campusmap/CampusMapPage.xaml + + [+-]{0,1}[0-9]+[.,]{0,1}[0-9]+[\s][+-]{0,1}[0-9]+[.,]{0,1}[0-9]+ + \ No newline at end of file From 5af71df73f5ae06083e389b9013f859b22d66a4a Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 19 Aug 2013 15:48:38 +0200 Subject: [PATCH 3/4] update ignero --- .gitignore | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/.gitignore b/.gitignore index 93784e2d..c01e1fd7 100644 --- a/.gitignore +++ b/.gitignore @@ -192,3 +192,86 @@ CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/winrt45/Newtonsoft.Json.xml CampusAppWP8/packages/SharpZipLib-WP7.0.86.0.518/SharpZipLib-WP7.0.86.0.518.nupkg CampusAppWP8/packages/SharpZipLib-WP7.0.86.0.518/SharpZipLib-WP7.0.86.0.518.nuspec CampusAppWP8/packages/SharpZipLib-WP7.0.86.0.518/lib/sl4-windowsphone71/SharpZipLib.WindowsPhone7.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/WPtoolkit.4.2013.08.16.nupkg +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/WPtoolkit.4.2013.08.16.nuspec +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/content/README_FIRST.txt +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/content/Toolkit.Content/ApplicationBar.Add.png +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/content/Toolkit.Content/ApplicationBar.Cancel.png +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/content/Toolkit.Content/ApplicationBar.Check.png +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/content/Toolkit.Content/ApplicationBar.Delete.png +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/content/Toolkit.Content/ApplicationBar.Select.png +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl3-wp/Microsoft.Phone.Controls.Toolkit.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/Microsoft.Phone.Controls.Toolkit.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/cs-CZ/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/da-DK/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/de-DE/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/el-GR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/en-GB/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/es-ES/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/fi-FI/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/fr-FR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/hu-HU/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/id-ID/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/it-IT/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/ja-JP/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/ko-KR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/ms-MY/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/nb-NO/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/nl-NL/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/pl-PL/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/pt-BR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/ru-RU/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/sv-SE/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/zh-CN/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/sl4-windowsphone71/zh-TW/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/Microsoft.Phone.Controls.Toolkit.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/ar-SA/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/az-Latn-AZ/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/be-BY/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/bg-BG/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/ca-ES/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/cs-CZ/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/da-DK/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/de-DE/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/el-GR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/en-GB/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/es-ES/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/es-MX/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/et-EE/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/fa-IR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/fi-FI/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/fil-PH/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/fr-CA/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/fr-FR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/he-IL/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/hi-IN/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/hr-HR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/hu-HU/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/id-ID/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/it-IT/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/ja-JP/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/kk-KZ/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/ko-KR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/lt-LT/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/lv-LV/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/mk-MK/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/ms-MY/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/nb-NO/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/nl-NL/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/pl-PL/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/pt-BR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/pt-PT/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/ro-RO/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/ru-RU/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/sk-SK/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/sl-SI/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/sq-AL/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/sr-Latn-CS/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/sv-SE/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/th-TH/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/tr-TR/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/uk-UA/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/uz-Latn-UZ/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/vi-VN/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/zh-CN/Microsoft.Phone.Controls.Toolkit.resources.dll +CampusAppWP8/packages/WPtoolkit.4.2013.08.16/lib/wp8/zh-TW/Microsoft.Phone.Controls.Toolkit.resources.dll From 0e3eac2c6a510b4234c8a6099d2bbe034be0d3f5 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 20 Aug 2013 10:41:43 +0200 Subject: [PATCH 4/4] add offline map --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 5 +- .../File/Campusmap/Offlinemap.xml | 295 ++++++++++++++++++ .../Model/Campusmap/CBMainMapModel.cs | 35 +-- .../CampusAppWP8/Model/GeoDb/SpsModel.cs | 7 + .../Model/Setting/UserProfilModel.cs | 1 - .../Resources/Constants.Designer.cs | 18 ++ .../CampusAppWP8/Resources/Constants.resx | 6 + .../CampusAppWP8/Utility/XmlManager.cs | 13 + 8 files changed, 354 insertions(+), 26 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 1df934e5..b4446480 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -428,6 +428,7 @@ + @@ -457,9 +458,7 @@ ..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll - - - + diff --git a/CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml b/CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml new file mode 100644 index 00000000..8d4a1592 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/File/Campusmap/Offlinemap.xml @@ -0,0 +1,295 @@ + + + + Campus Cottbus Mitte + campus + + + Campus Cottbus Süd + campus + + + Campus Senftenberg + campus + + + Campus Cottbus Nord + campus + + + Lehrgebäude 4/6 + + + Lehrgebäude 4/3 + + + Lehrgebäude 4/1 + + + Lehrgebäude 4/4 + + + Wohnheim + + + Wohnheim + + + Wohnheim + + + Wohnheim + + + Wohnheim + + + Biotechnologie + + + Lehrgebäude Musikpädagogik + + + Informations, Kommunikations und Medienzentrum + library + + + Internationales Begegnungszentrum + + + Lehrgebäude 8 + + + Laborhalle 3D + + + Gewächshaus Fakultät 4 + + + Reprographie + + + Umformer Station + + + Zentrale Einrichtung Sprachenzentrum + + + Lehrgebäude 9 + + + Baustofflabor + + + Studentenwerk Frankfurt (Oder) + + + Zentralverwaltung Hubertstraße (ZVH) + + + Wohnheim Papitzer Straße 4/5 + guest_house + + + Lehrgebäude 10 + + + Studentenwohnanlage ErichWeinertStraße + + + Studentenwohnanlage Universitätsstraße 1 + + + Studentenwohnanlage Universitätsstraße 2 + + + Studentenwohnanlage Universitätsstraße 3 + + + Zwischenbau 1 + + + Zwischenbau 3 + + + Zwischenbau 4 + + + Zwischenbau 6 + + + Zwischenbau 5 + + + Mehrzweckgebäude + + + Physiotheraphie/Medizintechnik + + + Cafeteria HL + public_building + + + Gebäude 14 + + + Laborgebäude Bauingenieurwesen Verfahrenstechni + + + Lehrgebäude Bauningenieurwesen Architektur + + + Lehrgebäude Bauningenieurwesen Architektur + + + Lehrgebäude Betriebswirtschaftslehre + + + Lehrgebäude Sozialwesen + + + Wohnheim 1 + + + Fakultät 3 / Sport + + + Laborgebäude 1B + + + Lehrgebäude 1A + + + Forschungs und Materialprüfanstalt Cottbus + + + Garagenkomplex + + + Lehrgebäude 1C + + + Lehrgebäude 3 + + + Lehrhalle 3G Verkehrtechnikhalle + + + Sporthalle 1 + + + Hörsaal 3 + + + GrundbauVersuchshalle + + + Laborgebäude 4B + + + Laborhalle 3C + + + Laborhalle 4C + + + Lehrgebäude 3A + + + Lehrgebäude 3B + + + Lehrgebäude 4A + + + Panta Rhei Halle + + + Großer Hörsaal + entrance + + + Hauptgebäude + + + Zentralverwaltung + + + Zwischenbau Lehrgebäude 2A/B + + + Lehrgebäude 2A + + + Lehrgebäude 2B + + + Lehrgebäude 2C + + + Lehrgebäude 2D + + + Zwischenbau Lehrgebäude 2C/D + + + Alte Schwimmhalle (geschlossen) + + + BTU Mensa + restaurant + + + Zentrales Hörsaalgebäude + + + Zwischenbau 2 + + + Elektrotechnik/Chemie/Verfahrenstechnik + school + + + Maschinenbau + school + + + Sporthalle + school + + + Mensa + school + + + Informatik (Labor) + school + + + Informatik + school + + + KonradZuseMedienzentrum + school + + + Hochschulbibliothek + school + + + Hochschulverwaltung/Rechenzentrum + school + + + Wohnanlage 8 + + + Lehrgebäude 4/2 + + + Lehrgebäude 4/5 + + + diff --git a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs index f10d1056..0c12cec8 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs @@ -7,21 +7,25 @@ //----------------------------------------------------------------------------- namespace CampusAppWP8.Model.Campusmap { - using System.Collections.ObjectModel; using System.Windows; using CampusAppWP8.Model.GeoDb; + using CampusAppWP8.Resources; + using CampusAppWP8.Utility; /// /// Class for the MapModel of the mainCampus of cottbus /// public class CBMainMapModel : MapModel { + /// Variable for the identify of the campus. + private static readonly string Campus = ((int)CampusAppWP8.Model.Setting.UserProfilModel.Campus.CB_MAIN).ToString(); + /// /// Initializes a new instance of the class. /// public CBMainMapModel() { - this.ImageSource = "/Assets/campusmap.png"; + this.ImageSource = Constants.FileMap_CBMainMap; this.ImageWidth = 2000; this.ImageHeight = 1425; this.MapImageOffsetX = -228; @@ -37,29 +41,16 @@ namespace CampusAppWP8.Model.Campusmap /// Stubbfel, 19.08.2013. protected override void LoadSpatials() { - ObservableCollection places = new ObservableCollection(); - ObservableCollection infos = new ObservableCollection(); + SpsModel model = XmlManager.DeserializationFileToModel(Constants.FileMap_OfflineMap); - infos.Add(new PlaceInformation() { InformationName = "name", InformationValue = "Campus Cottbus Mitte" }); - infos.Add(new PlaceInformation() { InformationName = "type", InformationValue = "campus" }); - places.Add(new PlaceModel() { PlaceId = "1", RefPoint = "POINT(14.324056352976152 51.76737987049448)", Informations = infos }); - - infos = new ObservableCollection(); - infos.Add(new PlaceInformation() { InformationName = "name", InformationValue = "MZG" }); - infos.Add(new PlaceInformation() { InformationName = "type", InformationValue = "Mehrzweck" }); - places.Add(new PlaceModel() { PlaceId = "5", ParentId = "1", RefPoint = "POINT(14.321714914733889 51.76608468494122)", Informations = infos }); - - infos = new ObservableCollection(); - infos.Add(new PlaceInformation() { InformationName = "name", InformationValue = "BTU Mensa" }); - infos.Add(new PlaceInformation() { InformationName = "type", InformationValue = "restaurant" }); - places.Add(new PlaceModel() { PlaceId = "145280193", ParentId = "1", RefPoint = "POINT(14.326168833333334 51.76649038666667)", Informations = infos }); - - if (this.Spatial == null) + this.Spatial = new SpsModel(); + foreach (PlaceModel place in model.Places) { - this.Spatial = new SpsModel(); + if (Campus.Equals(place.ParentId) || Campus.Equals(place.PlaceId)) + { + this.Spatial.Places.Add(place); + } } - - this.Spatial.Places = places; } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs index 2970ee95..e9485e84 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs @@ -19,6 +19,13 @@ namespace CampusAppWP8.Model.GeoDb [XmlRoot("root")] public class SpsModel { + /// Initializes a new instance of the SpsModel class. + /// Stubbfel, 20.08.2013. + public SpsModel() + { + this.Places = new ObservableCollection(); + } + /// /// Gets or sets a list of places /// diff --git a/CampusAppWP8/CampusAppWP8/Model/Setting/UserProfilModel.cs b/CampusAppWP8/CampusAppWP8/Model/Setting/UserProfilModel.cs index d92a582a..a753efca 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Setting/UserProfilModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Setting/UserProfilModel.cs @@ -122,7 +122,6 @@ namespace CampusAppWP8.Model.Setting } } - /// /// Gets or sets the defaultCampus of the user /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs index b0d84d4e..ad0aba17 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs @@ -123,6 +123,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die /Assets/campusmap.png ähnelt. + /// + public static string FileMap_CBMainMap { + get { + return ResourceManager.GetString("FileMap_CBMainMap", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die File/Campusmap/Offlinemap.xml ähnelt. + /// + public static string FileMap_OfflineMap { + get { + return ResourceManager.GetString("FileMap_OfflineMap", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die MensaFeed.xml ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 4366a89a..d6ba8703 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -411,4 +411,10 @@ [+-]{0,1}[0-9]+[.,]{0,1}[0-9]+[\s][+-]{0,1}[0-9]+[.,]{0,1}[0-9]+ + + File/Campusmap/Offlinemap.xml + + + /Assets/campusmap.png + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs b/CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs index e5b5d4f3..75d1467e 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/XmlManager.cs @@ -38,6 +38,19 @@ namespace CampusAppWP8.Utility return model; } + /// Deserialization a xml file to a model. + /// Stubbfel, 20.08.2013. + /// Generic type parameter. + /// Path to the a XmlFile. + /// model of the XmlFile. + public static T DeserializationFileToModel(string xmlFilePath) + { + XmlSerializer serializer = new XmlSerializer(typeof(T)); + XDocument document = XDocument.Load(xmlFilePath); + T model = (T)serializer.Deserialize(document.CreateReader()); + return model; + } + /// /// Method serializes a model to a string. ///