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
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 69a8462f..b4446480 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -105,7 +105,9 @@
+
+
@@ -426,7 +428,9 @@
+
+
@@ -449,13 +453,12 @@
-
- ..\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/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 6360352a..0c12cec8 100644
--- a/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
+++ b/CampusAppWP8/CampusAppWP8/Model/Campusmap/CBMainMapModel.cs
@@ -8,18 +8,24 @@
namespace CampusAppWP8.Model.Campusmap
{
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;
@@ -30,5 +36,21 @@ namespace CampusAppWP8.Model.Campusmap
this.GeoOffsetX = 14.327159;
this.GeoOffsetY = 51.766548;
}
+
+ /// Loads the spatial./.
+ /// Stubbfel, 19.08.2013.
+ protected override void LoadSpatials()
+ {
+ SpsModel model = XmlManager.DeserializationFileToModel(Constants.FileMap_OfflineMap);
+
+ this.Spatial = new SpsModel();
+ foreach (PlaceModel place in model.Places)
+ {
+ if (Campus.Equals(place.ParentId) || Campus.Equals(place.PlaceId))
+ {
+ this.Spatial.Places.Add(place);
+ }
+ }
+ }
}
}
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..e9485e84 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;
///
@@ -17,10 +19,69 @@ 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
///
[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/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/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 bf6ed617..ddc82665 100644
--- a/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs
+++ b/CampusAppWP8/CampusAppWP8/Pages/Campusmap/CampusMapPage.xaml.cs
@@ -8,27 +8,27 @@
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;
- ///
- /// 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,77 +36,122 @@ 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();
+ MapCanvas.Children.Clear();
+ this.AddPins(this.SearchPlaces("campus"));
+ 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));
+ // this.AddPin(double.Parse(XPoint.Text), double.Parse(YPoint.Text));
}
- ///
- /// Add Pin to an certain position
- ///
- /// longitude parameter
- /// latitude parameter
+ /// 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.
+ /// Stubbfel, 19.08.2013.
+ /// longitude parameter.
+ /// 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.
- ///
- /// 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();
+ 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/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..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.
///
@@ -645,6 +663,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..d6ba8703 100644
--- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx
+++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx
@@ -408,4 +408,13 @@
/Pages/Campusmap/CampusMapPage.xaml
+
+ [+-]{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/Toolkit.Content/ApplicationBar.Add.png b/CampusAppWP8/CampusAppWP8/Toolkit.Content/ApplicationBar.Add.png
new file mode 100644
index 00000000..4b524d6f
Binary files /dev/null and b/CampusAppWP8/CampusAppWP8/Toolkit.Content/ApplicationBar.Add.png differ
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.
///
diff --git a/CampusAppWP8/CampusAppWP8/packages.config b/CampusAppWP8/CampusAppWP8/packages.config
index f3d7e2f0..145c4038 100644
--- a/CampusAppWP8/CampusAppWP8/packages.config
+++ b/CampusAppWP8/CampusAppWP8/packages.config
@@ -1,4 +1,5 @@
+
\ No newline at end of file