From 363baad60c7ab460a4b063d8ecc0e26de1840541 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 6 Aug 2013 16:13:29 +0200 Subject: [PATCH 1/5] add spsapi --- .../CampusAppWP8/Api/GeoApi/SpsApi.cs | 26 +++++++ CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 4 ++ .../CampusAppWP8/Model/GeoDb/PlaceModel.cs | 21 ++++++ .../CampusAppWP8/Model/GeoDb/SpsModel.cs | 17 +++++ .../CampusAppWP8/Model/Mensa/MenuWeekModel.cs | 16 ++--- .../Model/Utility/CleanUrlParamModel.cs | 67 +++++++++++++++++++ .../Model/Utility/URLParamModel.cs | 4 +- .../Pages/Mensa/MensaPage.xaml.cs | 17 +++++ 8 files changed, 162 insertions(+), 10 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs create mode 100644 CampusAppWP8/CampusAppWP8/Model/Utility/CleanUrlParamModel.cs diff --git a/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs b/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs new file mode 100644 index 00000000..af0b1dae --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs @@ -0,0 +1,26 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 06.08.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Feed.GeoApi +{ + using CampusAppWP8.Model; + using CampusAppWP8.Model.GeoDb; + + /// + /// Class for sps api + /// + public class SpsApi : XmlModel + { + /// + /// Initializes a new instance of the class. + /// + public SpsApi() + : base(ModelType.Feed, "http://141.43.76.140/service/sps") + { + } + } +} diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index cc5f5a59..fae411f5 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -93,16 +93,20 @@ 4 + App.xaml + + + diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs new file mode 100644 index 00000000..5e808398 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; + +namespace CampusAppWP8.Model.GeoDb +{ + public class PlaceModel + { + [XmlAttribute("id")] + public string PlaceId { get; set; } + + [XmlAttribute("parentId")] + public string ParentId { get; set; } + + [XmlAttribute("refpoint")] + public string RefPoint { get; set; } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs new file mode 100644 index 00000000..5e8ac642 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Serialization; + +namespace CampusAppWP8.Model.GeoDb +{ + [XmlRoot("root")] + public class SpsModel + { + [XmlElement("place")] + public ObservableCollection Places { get; set; } + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/Mensa/MenuWeekModel.cs b/CampusAppWP8/CampusAppWP8/Model/Mensa/MenuWeekModel.cs index 1451075b..11cedc69 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Mensa/MenuWeekModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Mensa/MenuWeekModel.cs @@ -24,8 +24,8 @@ namespace CampusAppWP8.Model.Mensa private readonly DateTime createTime; #endregion - - #region Constructor + + #region Constructor /// /// Initializes a new instance of the class. @@ -49,16 +49,16 @@ namespace CampusAppWP8.Model.Mensa /// /// Gets the creation time of the model /// - public DateTime CreateTime - { - get - { + public DateTime CreateTime + { + get + { return this.createTime; - } + } } #endregion - + #region Methods /// diff --git a/CampusAppWP8/CampusAppWP8/Model/Utility/CleanUrlParamModel.cs b/CampusAppWP8/CampusAppWP8/Model/Utility/CleanUrlParamModel.cs new file mode 100644 index 00000000..46d2211c --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Utility/CleanUrlParamModel.cs @@ -0,0 +1,67 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 06.08.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Model.Utility +{ + /// + /// This class is a Model for the URLParameter like GET-Parameter + /// + public class CleanUrlParamModel:UrlParamModel + { + #region Constructor + + /// + /// Initializes a new instance of the class. + /// + /// the key for the parameter + public CleanUrlParamModel(string key) :base(key) + { + + } + + /// + /// Initializes a new instance of the class. + /// + /// the key for the parameter> + /// value of the parameter + public CleanUrlParamModel(string key, string value) : base(key,value) + { + } + #endregion + + #region Proberty + + /// + /// Gets the token, which indicate that the parameterList started + /// + public override string ParamToken + { + get + { + return string.Empty; + } + } + #endregion + + #region Methods + + /// + /// Method return a formatted string like Key=Value + /// + /// return formatted string + public override string ToString() + { + if (!this.IsParamValid()) + { + return string.Empty; + } + + return "/" + this.key + "/" + this.Value; + } + #endregion + } +} diff --git a/CampusAppWP8/CampusAppWP8/Model/Utility/URLParamModel.cs b/CampusAppWP8/CampusAppWP8/Model/Utility/URLParamModel.cs index a439e875..8f3a6b47 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Utility/URLParamModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Utility/URLParamModel.cs @@ -17,7 +17,7 @@ namespace CampusAppWP8.Model.Utility /// /// Variable of the key /// - private readonly string key; + protected readonly string key; #endregion @@ -65,7 +65,7 @@ namespace CampusAppWP8.Model.Utility /// /// Gets the token, which indicate that the parameterList started /// - public string ParamToken + public virtual string ParamToken { get { diff --git a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs index 46d5f76d..ca76db32 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs @@ -11,6 +11,9 @@ namespace CampusAppWP8.Pages.Mensa using System.Windows.Navigation; using CampusAppWP8.Feed.Mensa; using Microsoft.Phone.Controls; + using CampusAppWP8.Feed.GeoApi; + using System.Collections.Generic; + using CampusAppWP8.Model.Utility; /// /// Class for the MensaPage @@ -24,6 +27,8 @@ namespace CampusAppWP8.Pages.Mensa /// private MensaFeed feed; + private SpsApi spsApi; + /// /// Index representing the weekday of today /// 0 - Monday(Default) @@ -72,6 +77,18 @@ namespace CampusAppWP8.Pages.Mensa this.ProgressBar.Visibility = System.Windows.Visibility.Visible; this.feed.LoadData(); + this.spsApi = new SpsApi(); + this.spsApi.onLoaded += new MensaFeed.OnLoaded(this.ApiIsReady); + List parameterList = new List(); + parameterList.Add(new CleanUrlParamModel("latitude", "14.294")); + parameterList.Add(new CleanUrlParamModel("longitude", "51.77676")); + parameterList.Add(new CleanUrlParamModel("domain", "14.294")); + this.spsApi.LoadData(); + } + + private void ApiIsReady() + { + string i = this.spsApi.Model.Places[0].PlaceId; } /// From 70d92c7a3b7f80828459561f47847af08b5347ba Mon Sep 17 00:00:00 2001 From: stubbfel Date: Wed, 7 Aug 2013 11:38:02 +0200 Subject: [PATCH 2/5] add test access --- .../Pages/Mensa/MensaPage.xaml.cs | 41 ++++++++++++++++--- CampusAppWP8/CampusAppWP8/Utility/File.cs | 2 + 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs index ca76db32..6100b8ae 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs @@ -14,6 +14,9 @@ namespace CampusAppWP8.Pages.Mensa using CampusAppWP8.Feed.GeoApi; using System.Collections.Generic; using CampusAppWP8.Model.Utility; + using Windows.Devices.Geolocation; + using System.Threading.Tasks; + using System.Globalization; /// /// Class for the MensaPage @@ -76,13 +79,41 @@ namespace CampusAppWP8.Pages.Mensa } this.ProgressBar.Visibility = System.Windows.Visibility.Visible; - this.feed.LoadData(); + //this.feed.LoadData(); + this.determinCurrentPosition(); + } + + private async void determinCurrentPosition() + { + Geolocator geolocator = new Geolocator(); + geolocator.DesiredAccuracyInMeters = 50; + string lat = string.Empty; + string log = string.Empty; + try + { + Geoposition geoposition = await geolocator.GetGeopositionAsync( + maximumAge: TimeSpan.FromMinutes(15), + timeout: TimeSpan.FromSeconds(10) + ); + + lat = geoposition.Coordinate.Latitude.ToString(CultureInfo.InvariantCulture); + log = geoposition.Coordinate.Longitude.ToString(CultureInfo.InvariantCulture); + } + catch (Exception ex) + { + if ((uint)ex.HResult == 0x80004004) + { + + } + + } this.spsApi = new SpsApi(); - this.spsApi.onLoaded += new MensaFeed.OnLoaded(this.ApiIsReady); + this.spsApi.onLoaded += new SpsApi.OnLoaded(this.ApiIsReady); List parameterList = new List(); - parameterList.Add(new CleanUrlParamModel("latitude", "14.294")); - parameterList.Add(new CleanUrlParamModel("longitude", "51.77676")); - parameterList.Add(new CleanUrlParamModel("domain", "14.294")); + parameterList.Add(new CleanUrlParamModel("latitude", lat)); + parameterList.Add(new CleanUrlParamModel("longitude", log)); + parameterList.Add(new CleanUrlParamModel("domain", "3")); + this.spsApi.SetUriParams(parameterList); this.spsApi.LoadData(); } diff --git a/CampusAppWP8/CampusAppWP8/Utility/File.cs b/CampusAppWP8/CampusAppWP8/Utility/File.cs index 6b6349a5..8e51ba53 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/File.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/File.cs @@ -10,6 +10,8 @@ namespace CampusAppWP8.Utility using System; using System.IO; using Windows.Storage; + // test using for bug #126 + using System.Threading.Tasks; /// /// File class. From b337eefc8c2f47a5d6580738f8aee9697a8ca5cc Mon Sep 17 00:00:00 2001 From: stubbfel Date: Wed, 7 Aug 2013 15:16:13 +0200 Subject: [PATCH 3/5] add geowatcher --- CampusAppWP8/CampusAppWP8/App.xaml.cs | 30 +++++--- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 15 ++++ .../Pages/Mensa/MensaPage.xaml.cs | 29 ++------ .../CampusAppWP8/Pages/StartPage.xaml.cs | 15 ++-- .../CampusAppWP8/Utility/Utilities.cs | 68 +++++++++++++++++++ CampusAppWP8/CampusAppWP8/packages.config | 4 ++ 6 files changed, 126 insertions(+), 35 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/App.xaml.cs b/CampusAppWP8/CampusAppWP8/App.xaml.cs index 9d7a8955..891f1230 100644 --- a/CampusAppWP8/CampusAppWP8/App.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/App.xaml.cs @@ -1,15 +1,18 @@ -using System; +using CampusAppWP8.File.Setting; +using CampusAppWP8.Model.Setting; +using CampusAppWP8.Resources; +using CampusAppWP8.Utility; +using Microsoft.Phone.Controls; +using Microsoft.Phone.Shell; +using System; using System.Diagnostics; -using System.Resources; +using System.Globalization; +using System.IO.IsolatedStorage; +using System.Threading; using System.Windows; using System.Windows.Markup; using System.Windows.Navigation; -using Microsoft.Phone.Controls; -using Microsoft.Phone.Shell; -using CampusAppWP8.Resources; -using System.IO.IsolatedStorage; -using CampusAppWP8.File.Setting; -using CampusAppWP8.Model.Setting; +using Windows.Devices.Geolocation; namespace CampusAppWP8 @@ -134,6 +137,9 @@ namespace CampusAppWP8 this.LoadSettings(); } + /// + /// Load the appsettings from the store + /// private void LoadSettings() { UserProfilFile userFile; @@ -147,7 +153,14 @@ namespace CampusAppWP8 { this.UserSettingsLoaded(); } + + Thread thread = new Thread(new ThreadStart(Utilities.DetermineAndStoreCurrentPosition)); + thread.Start(); } + + /// + /// Load the usersettings from the store + /// private void UserSettingsLoaded() { if (Settings.UserProfil.Model == null) @@ -161,6 +174,7 @@ namespace CampusAppWP8 private void Application_Activated(object sender, ActivatedEventArgs e) { this.LoadSettings(); + } // Code, der ausgeführt werden soll, wenn die Anwendung deaktiviert wird (in den Hintergrund gebracht wird) diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index fae411f5..c2bee0e0 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -424,10 +424,25 @@ + + ..\packages\BuiltToRoam.Core.Agent.1.0.1.5\lib\sl4-wp71\AsyncCtpLibrary_Phone.dll + + + ..\packages\BuiltToRoam.Core.Agent.1.0.1.5\lib\sl4-wp71\BuiltToRoam.Core.Agent.dll + + + ..\packages\BuiltToRoam.GeoWatcher.1.0.1.5\lib\sl4-wp71\BuiltToRoam.GeoWatcher.dll + ..\packages\WPtoolkit.4.2012.10.30\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll + + ..\packages\Newtonsoft.Json.4.5.11\lib\sl4-windowsphone71\Newtonsoft.Json.dll + + + ..\packages\SharpZipLib-WP7.0.86.0.518\lib\sl4-windowsphone71\SharpZipLib.WindowsPhone7.dll + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs index 6100b8ae..a28f78f2 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs @@ -17,6 +17,7 @@ namespace CampusAppWP8.Pages.Mensa using Windows.Devices.Geolocation; using System.Threading.Tasks; using System.Globalization; + using CampusAppWP8.Utility; /// /// Class for the MensaPage @@ -79,34 +80,16 @@ namespace CampusAppWP8.Pages.Mensa } this.ProgressBar.Visibility = System.Windows.Visibility.Visible; - //this.feed.LoadData(); + this.feed.LoadData(); this.determinCurrentPosition(); } - private async void determinCurrentPosition() + private void determinCurrentPosition() { - Geolocator geolocator = new Geolocator(); - geolocator.DesiredAccuracyInMeters = 50; - string lat = string.Empty; - string log = string.Empty; - try - { - Geoposition geoposition = await geolocator.GetGeopositionAsync( - maximumAge: TimeSpan.FromMinutes(15), - timeout: TimeSpan.FromSeconds(10) - ); + Utilities.DetermineAndStoreCurrentPosition(); + string lat = App.LoadFromAppState("CurrentPosition.Lat"); + string log = App.LoadFromAppState("CurrentPosition.Long"); - lat = geoposition.Coordinate.Latitude.ToString(CultureInfo.InvariantCulture); - log = geoposition.Coordinate.Longitude.ToString(CultureInfo.InvariantCulture); - } - catch (Exception ex) - { - if ((uint)ex.HResult == 0x80004004) - { - - } - - } this.spsApi = new SpsApi(); this.spsApi.onLoaded += new SpsApi.OnLoaded(this.ApiIsReady); List parameterList = new List(); diff --git a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs index c6f84e3c..79325c14 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs @@ -14,6 +14,11 @@ namespace CampusAppWP8.Pages using CampusAppWP8.Resources; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; + using Windows.Devices.Geolocation; + using CampusAppWP8.Utility; + using System.Globalization; + using System.Threading.Tasks; + using System.Device.Location; /// /// Class for the StartPage @@ -25,14 +30,14 @@ namespace CampusAppWP8.Pages /// public StartPage() { - this.InitializeComponent(); + this.InitializeComponent(); ApplicationBarMenuItem menuItem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem; if (menuItem1 != null) { menuItem1.Text = AppResources.Setting_UserProfilAppBarTitle; } } - + /// /// Method handle OrientationPage /// @@ -78,12 +83,14 @@ namespace CampusAppWP8.Pages ContentPanel.RowDefinitions[3].Height = new GridLength(1,GridUnitType.Star); ContentPanel.ColumnDefinitions[3].Width = GridLength.Auto; } + } private void ApplicationBarMenuItem_Click(object sender, EventArgs e) { - Uri url = new Uri(Constants.PathSetting_User, UriKind.Relative); - NavigationService.Navigate(url); + //Uri url = new Uri(Constants.PathSetting_User, UriKind.Relative); + //NavigationService.Navigate(url); + Utilities.DetermineAndStoreCurrentPosition(); } private void ApplicationBar_StateChanged(object sender, ApplicationBarStateChangedEventArgs e) diff --git a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs index 243929ed..afb542e1 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs @@ -9,6 +9,8 @@ namespace CampusAppWP8.Utility { using System; using System.Collections.Generic; + using System.Device.Location; + using System.Globalization; using System.Linq; using System.Windows; using System.Windows.Controls; @@ -191,5 +193,71 @@ namespace CampusAppWP8.Utility return retValue; } + + /// + /// Method determine the current position of the phone + /// + /// accuracy of the position in meters + /// the position of the phone + public static GeoPosition DetermineCurrentPosition(uint accuracy = 50) + { + //Utilities.DetermineAndStoreCurrentPosition(); + GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); + bool success = watcher.TryStart(false, TimeSpan.FromMilliseconds(1000)); + GeoPosition geoposition = null; + if (success) + { + geoposition = watcher.Position; + } + watcher.Stop(); + return geoposition; + } + + /// + /// Method determine and store the current position of the phone + /// + public static void DetermineAndStoreCurrentPositionForce() + { + GeoPosition geoposition = Utilities.DetermineCurrentPosition(); + if (geoposition != null) + { + string lat = geoposition.Location.Latitude.ToString(CultureInfo.InvariantCulture); + string log = geoposition.Location.Longitude.ToString(CultureInfo.InvariantCulture); + string time = geoposition.Timestamp.Ticks.ToString(); + App.SaveToAppState("CurrentPosition.Lat", lat); + App.SaveToAppState("CurrentPosition.Long", log); + App.SaveToAppState("CurrentPosition.Time", time); + } + } + + /// + /// Method determine and store the current position of the phone, in 15 min intcavv + /// + public static void DetermineAndStoreCurrentPosition() + { + string lat = App.LoadFromAppState("CurrentPosition.Lat"); + string log = App.LoadFromAppState("CurrentPosition.Long"); + string time = App.LoadFromAppState("CurrentPosition.Time"); + if (lat == null || log == null || time == null || lat.Equals(string.Empty) || log.Equals(string.Empty) || time.Equals(string.Empty)) + { + Utilities.DetermineAndStoreCurrentPositionForce(); + } + else + { + long longTime = 0; + if(!long.TryParse(time, out longTime)) + { + return; + } + + DateTime expired = new DateTime(longTime).AddMinutes(15); + if (DateTime.Now.Ticks > expired.Ticks) + { + + Utilities.DetermineAndStoreCurrentPositionForce(); + + } + } + } } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/packages.config b/CampusAppWP8/CampusAppWP8/packages.config index a6c4d07d..dbbe5283 100644 --- a/CampusAppWP8/CampusAppWP8/packages.config +++ b/CampusAppWP8/CampusAppWP8/packages.config @@ -1,4 +1,8 @@  + + + + \ No newline at end of file From e8fe0bb0418036271692268d81941dab60b4748a Mon Sep 17 00:00:00 2001 From: stubbfel Date: Wed, 7 Aug 2013 15:17:36 +0200 Subject: [PATCH 4/5] new gitignore --- .gitignore | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.gitignore b/.gitignore index fdb60427..93784e2d 100644 --- a/.gitignore +++ b/.gitignore @@ -164,3 +164,31 @@ screenshots/ CampusAppWP8/packages/WPtoolkit.4.2012.10.30/lib/sl3-wp/Microsoft.Phone.Controls.Toolkit.dll CampusAppWP8/packages/WPtoolkit.4.2012.10.30/lib/sl4-windowsphone71/Microsoft.Phone.Controls.Toolkit.dll CampusAppWP8/packages/WPtoolkit.4.2012.10.30/lib/wp8/Microsoft.Phone.Controls.Toolkit.dll +CampusAppWP8/packages/BuiltToRoam.Core.Agent.1.0.1.5/BuiltToRoam.Core.Agent.1.0.1.5.nupkg +CampusAppWP8/packages/BuiltToRoam.Core.Agent.1.0.1.5/BuiltToRoam.Core.Agent.1.0.1.5.nuspec +CampusAppWP8/packages/BuiltToRoam.Core.Agent.1.0.1.5/lib/sl4-wp71/AsyncCtpLibrary_Phone.dll +CampusAppWP8/packages/BuiltToRoam.Core.Agent.1.0.1.5/lib/sl4-wp71/BuiltToRoam.Core.Agent.dll +CampusAppWP8/packages/BuiltToRoam.GeoWatcher.1.0.1.5/BuiltToRoam.GeoWatcher.1.0.1.5.nupkg +CampusAppWP8/packages/BuiltToRoam.GeoWatcher.1.0.1.5/BuiltToRoam.GeoWatcher.1.0.1.5.nuspec +CampusAppWP8/packages/BuiltToRoam.GeoWatcher.1.0.1.5/lib/sl4-wp71/BuiltToRoam.GeoWatcher.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/Newtonsoft.Json.4.5.11.nupkg +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/Newtonsoft.Json.4.5.11.nuspec +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/net20/Newtonsoft.Json.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/net20/Newtonsoft.Json.xml +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/net35/Newtonsoft.Json.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/net35/Newtonsoft.Json.xml +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/net40/Newtonsoft.Json.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/net40/Newtonsoft.Json.xml +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/sl3-wp/Newtonsoft.Json.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/sl3-wp/Newtonsoft.Json.xml +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/sl4-windowsphone71/Newtonsoft.Json.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/sl4-windowsphone71/Newtonsoft.Json.xml +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/sl4/Newtonsoft.Json.dll +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/sl4/Newtonsoft.Json.xml +CampusAppWP8/packages/Newtonsoft.Json.4.5.11/lib/winrt45/Newtonsoft.Json.dll +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 From 6ce158dc4182add53eff70875bc03101fb5a8756 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Thu, 8 Aug 2013 13:51:20 +0200 Subject: [PATCH 5/5] add optin and doku --- .../CampusAppWP8/Api/GeoApi/SpsApi.cs | 5 +- CampusAppWP8/CampusAppWP8/App.xaml.cs | 1 + CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 1 + .../CampusAppWP8/Model/GeoDb/PlaceModel.cs | 27 ++++++-- .../CampusAppWP8/Model/GeoDb/SpsModel.cs | 23 +++++-- .../CampusAppWP8/Model/Setting/AppSettings.cs | 50 +++++++++++++++ .../Pages/Mensa/MensaPage.xaml.cs | 15 ++--- .../CampusAppWP8/Pages/StartPage.xaml.cs | 64 +++++++++++++++---- .../Resources/AppResources.Designer.cs | 18 ++++++ .../CampusAppWP8/Resources/AppResources.resx | 6 ++ .../Resources/Constants.Designer.cs | 54 ++++++++++++++++ .../CampusAppWP8/Resources/Constants.resx | 18 ++++++ CampusAppWP8/CampusAppWP8/Settings.cs | 25 ++++++++ CampusAppWP8/CampusAppWP8/Utility/File.cs | 2 - .../CampusAppWP8/Utility/Utilities.cs | 26 ++++---- 15 files changed, 283 insertions(+), 52 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs diff --git a/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs b/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs index af0b1dae..3dcff447 100644 --- a/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/GeoApi/SpsApi.cs @@ -9,9 +9,10 @@ namespace CampusAppWP8.Feed.GeoApi { using CampusAppWP8.Model; using CampusAppWP8.Model.GeoDb; + using CampusAppWP8.Resources; /// - /// Class for sps api + /// Class for SPSAPI /// public class SpsApi : XmlModel { @@ -19,7 +20,7 @@ namespace CampusAppWP8.Feed.GeoApi /// Initializes a new instance of the class. /// public SpsApi() - : base(ModelType.Feed, "http://141.43.76.140/service/sps") + : base(ModelType.Feed, Constants.UrlSpsService) { } } diff --git a/CampusAppWP8/CampusAppWP8/App.xaml.cs b/CampusAppWP8/CampusAppWP8/App.xaml.cs index 891f1230..46d1bfa0 100644 --- a/CampusAppWP8/CampusAppWP8/App.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/App.xaml.cs @@ -130,6 +130,7 @@ namespace CampusAppWP8 } return default(T); } + // Code, der beim Starten der Anwendung ausgeführt werden soll (z. B. über "Start") // Dieser Code wird beim Reaktivieren der Anwendung nicht ausgeführt private void Application_Launching(object sender, LaunchingEventArgs e) diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index c2bee0e0..bc1fd99d 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -103,6 +103,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs index 5e808398..68acbbbe 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/PlaceModel.cs @@ -1,20 +1,35 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Serialization; +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 08.08.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8.Model.GeoDb { + using System.Xml.Serialization; + + /// + /// Model for a place of the SPSService + /// public class PlaceModel { + /// + /// Gets or sets the placeId + /// [XmlAttribute("id")] public string PlaceId { get; set; } + /// + /// Gets or sets the id of the "parent" of a place + /// [XmlAttribute("parentId")] public string ParentId { get; set; } + /// + /// Gets or sets the ReferencePoint of a place + /// [XmlAttribute("refpoint")] public string RefPoint { get; set; } } diff --git a/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs index 5e8ac642..0b4fea86 100644 --- a/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/GeoDb/SpsModel.cs @@ -1,16 +1,25 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Serialization; +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 08.08.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8.Model.GeoDb { + using System.Collections.ObjectModel; + using System.Xml.Serialization; + + /// + /// Model for a xml-response of the SPSService + /// [XmlRoot("root")] public class SpsModel { + /// + /// Gets or sets a list of places + /// [XmlElement("place")] public ObservableCollection Places { get; set; } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs b/CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs new file mode 100644 index 00000000..aadf0ad0 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Model/Setting/AppSettings.cs @@ -0,0 +1,50 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 08.08.2013 +//---------------------------------------------------------------------- + +namespace CampusAppWP8.Model.Setting +{ + using CampusAppWP8.Resources; + + /// + /// Model for settings of the app + /// + public class AppSettings + { + /// + /// Gets or sets a value indicating whether the GeoWatch-Flag + /// + public bool GeoWatchEnable + { + get + { + return App.LoadFromAppState(Constants.AppSetting_GeoWatchEnable); + } + + set + { + App.SaveToAppState(Constants.AppSetting_GeoWatchEnable, value); + } + } + + /// + /// Gets or sets a value indicating whether the InitializationApp-Flag + /// + public bool InitApp + { + get + { + return App.LoadFromAppState(Constants.AppSetting_GeoWatchEnable); + } + + set + { + App.SaveToAppState(Constants.AppSetting_GeoWatchEnable, value); + } + } + } +} \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs index a28f78f2..f415ccc9 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs @@ -11,13 +11,6 @@ namespace CampusAppWP8.Pages.Mensa using System.Windows.Navigation; using CampusAppWP8.Feed.Mensa; using Microsoft.Phone.Controls; - using CampusAppWP8.Feed.GeoApi; - using System.Collections.Generic; - using CampusAppWP8.Model.Utility; - using Windows.Devices.Geolocation; - using System.Threading.Tasks; - using System.Globalization; - using CampusAppWP8.Utility; /// /// Class for the MensaPage @@ -31,7 +24,7 @@ namespace CampusAppWP8.Pages.Mensa /// private MensaFeed feed; - private SpsApi spsApi; + // private SpsApi spsApi; /// /// Index representing the weekday of today @@ -81,9 +74,11 @@ namespace CampusAppWP8.Pages.Mensa this.ProgressBar.Visibility = System.Windows.Visibility.Visible; this.feed.LoadData(); - this.determinCurrentPosition(); + + // this.determinCurrentPosition(); } +/* need for later feature (#147) private void determinCurrentPosition() { Utilities.DetermineAndStoreCurrentPosition(); @@ -103,7 +98,7 @@ namespace CampusAppWP8.Pages.Mensa private void ApiIsReady() { string i = this.spsApi.Model.Places[0].PlaceId; - } + }*/ /// /// Override the OnNavigatedFrom method diff --git a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs index 79325c14..9835260f 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/StartPage.xaml.cs @@ -12,13 +12,9 @@ namespace CampusAppWP8.Pages using System.Windows.Controls; using System.Windows.Navigation; using CampusAppWP8.Resources; + using CampusAppWP8.Utility; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; - using Windows.Devices.Geolocation; - using CampusAppWP8.Utility; - using System.Globalization; - using System.Threading.Tasks; - using System.Device.Location; /// /// Class for the StartPage @@ -30,14 +26,20 @@ namespace CampusAppWP8.Pages /// public StartPage() { - this.InitializeComponent(); + this.InitializeComponent(); ApplicationBarMenuItem menuItem1 = ApplicationBar.MenuItems[0] as ApplicationBarMenuItem; if (menuItem1 != null) { menuItem1.Text = AppResources.Setting_UserProfilAppBarTitle; } + + if (Settings.AppSetting.InitApp) + { + this.ShowOptIns(); + Settings.AppSetting.InitApp = true; + } } - + /// /// Method handle OrientationPage /// @@ -62,8 +64,8 @@ namespace CampusAppWP8.Pages HomeworkAppButtonText.Text = AppResources.HomeworkApp_Title; ContentPanel.RowDefinitions[3].Height = GridLength.Auto; - ContentPanel.ColumnDefinitions[3].Width = new GridLength(1, GridUnitType.Star); - } + ContentPanel.ColumnDefinitions[3].Width = new GridLength(1, GridUnitType.Star); + } else { // If not in portrait, move buttonList content to visible row and column. @@ -80,19 +82,27 @@ namespace CampusAppWP8.Pages HomeworkAppButtonText.Text = AppResources.HomeworkApp_Title2; - ContentPanel.RowDefinitions[3].Height = new GridLength(1,GridUnitType.Star); + ContentPanel.RowDefinitions[3].Height = new GridLength(1, GridUnitType.Star); ContentPanel.ColumnDefinitions[3].Width = GridLength.Auto; } - } + /// + /// Method Navigate to + /// + /// Caller of the function + /// some EventArgs private void ApplicationBarMenuItem_Click(object sender, EventArgs e) { - //Uri url = new Uri(Constants.PathSetting_User, UriKind.Relative); - //NavigationService.Navigate(url); - Utilities.DetermineAndStoreCurrentPosition(); + Uri url = new Uri(Constants.PathSetting_User, UriKind.Relative); + NavigationService.Navigate(url); } + /// + /// Method change the Opacity of the ApplicationBar + /// + /// Caller of the function + /// some EventArgs private void ApplicationBar_StateChanged(object sender, ApplicationBarStateChangedEventArgs e) { if (e.IsMenuVisible) @@ -104,5 +114,31 @@ namespace CampusAppWP8.Pages ApplicationBar.Opacity = 0.5; } } + + /// + /// Method show all OptIns + /// + private void ShowOptIns() + { + this.GeoWatchOptIN(); + } + + /// + /// Method show the GeoWatchOptIn in a MessageBox + /// + private void GeoWatchOptIN() + { + MessageBoxResult result = MessageBox.Show(AppResources.GeoWatch_OptInText, AppResources.GeoWatch_OptInHeader, MessageBoxButton.OKCancel); + + if (result == MessageBoxResult.OK) + { + Settings.AppSetting.GeoWatchEnable = true; + Utilities.DetermineAndStoreCurrentPosition(); + } + else + { + Settings.AppSetting.GeoWatchEnable = false; + } + } } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index e9372b2d..b2d6dccd 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs @@ -204,6 +204,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Ortung ähnelt. + /// + public static string GeoWatch_OptInHeader { + get { + return ResourceManager.GetString("GeoWatch_OptInHeader", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Dürfen Positionsdaten enhober und verwendet werdet? ähnelt. + /// + public static string GeoWatch_OptInText { + get { + return ResourceManager.GetString("GeoWatch_OptInText", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Hinweis ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx index af5596e0..4677210c 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -359,4 +359,10 @@ Suppe + + Ortung + + + Dürfen Positionsdaten enhober und verwendet werdet? + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs index 1b6ef17d..950c81cb 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs @@ -60,6 +60,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die AppSetting.GeoWatchEnable ähnelt. + /// + public static string AppSetting_GeoWatchEnable { + get { + return ResourceManager.GetString("AppSetting_GeoWatchEnable", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die AppSetting.InitApp ähnelt. + /// + public static string AppSetting_InitApp { + get { + return ResourceManager.GetString("AppSetting_InitApp", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die DepartmentFavoriteFeed.xml ähnelt. /// @@ -150,6 +168,33 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die CurrentPosition.Lat ähnelt. + /// + public static string GeoWatch_CurrentPosition_Lat { + get { + return ResourceManager.GetString("GeoWatch_CurrentPosition_Lat", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die CurrentPosition.Long ähnelt. + /// + public static string GeoWatch_CurrentPosition_Long { + get { + return ResourceManager.GetString("GeoWatch_CurrentPosition_Long", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die CurrentPosition.Time ähnelt. + /// + public static string GeoWatch_CurrentPosition_Time { + get { + return ResourceManager.GetString("GeoWatch_CurrentPosition_Time", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die IsolatedStorage_DepartmentFavoriteModel ähnelt. /// @@ -654,6 +699,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die http://141.43.76.140/service/sps ähnelt. + /// + public static string UrlSpsService { + get { + return ResourceManager.GetString("UrlSpsService", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=studentcouncils&app=2&appversion=1 ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 8520e922..99e8808a 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -333,4 +333,22 @@ WILD + + AppSetting.GeoWatchEnable + + + AppSetting.InitApp + + + CurrentPosition.Lat + + + CurrentPosition.Long + + + CurrentPosition.Time + + + http://141.43.76.140/service/sps + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Settings.cs b/CampusAppWP8/CampusAppWP8/Settings.cs index efb0f5b6..3e22f380 100644 --- a/CampusAppWP8/CampusAppWP8/Settings.cs +++ b/CampusAppWP8/CampusAppWP8/Settings.cs @@ -9,6 +9,7 @@ namespace CampusAppWP8 { using CampusAppWP8.File.Setting; + using CampusAppWP8.Model.Setting; /// /// Class handle all setting (files) @@ -20,6 +21,11 @@ namespace CampusAppWP8 /// private static UserProfilFile userProfil = new UserProfilFile(); + /// + /// reference of the appSettings + /// + private static AppSettings appSetting = new AppSettings(); + /// /// Gets or sets the user-profile-file /// @@ -38,5 +44,24 @@ namespace CampusAppWP8 } } } + + /// + /// Gets or sets the AppSetting + /// + public static AppSettings AppSetting + { + get + { + return Settings.appSetting; + } + + set + { + if (value != Settings.appSetting) + { + Settings.appSetting = value; + } + } + } } } diff --git a/CampusAppWP8/CampusAppWP8/Utility/File.cs b/CampusAppWP8/CampusAppWP8/Utility/File.cs index 8e51ba53..6b6349a5 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/File.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/File.cs @@ -10,8 +10,6 @@ namespace CampusAppWP8.Utility using System; using System.IO; using Windows.Storage; - // test using for bug #126 - using System.Threading.Tasks; /// /// File class. diff --git a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs index afb542e1..70fe8fdd 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Utilities.cs @@ -15,6 +15,7 @@ namespace CampusAppWP8.Utility using System.Windows; using System.Windows.Controls; using System.Windows.Media; + using CampusAppWP8.Resources; /// /// Collection of utility functions. @@ -201,7 +202,11 @@ namespace CampusAppWP8.Utility /// the position of the phone public static GeoPosition DetermineCurrentPosition(uint accuracy = 50) { - //Utilities.DetermineAndStoreCurrentPosition(); + if (!Settings.AppSetting.GeoWatchEnable) + { + return null; + } + GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); bool success = watcher.TryStart(false, TimeSpan.FromMilliseconds(1000)); GeoPosition geoposition = null; @@ -209,6 +214,7 @@ namespace CampusAppWP8.Utility { geoposition = watcher.Position; } + watcher.Stop(); return geoposition; } @@ -224,20 +230,20 @@ namespace CampusAppWP8.Utility string lat = geoposition.Location.Latitude.ToString(CultureInfo.InvariantCulture); string log = geoposition.Location.Longitude.ToString(CultureInfo.InvariantCulture); string time = geoposition.Timestamp.Ticks.ToString(); - App.SaveToAppState("CurrentPosition.Lat", lat); - App.SaveToAppState("CurrentPosition.Long", log); - App.SaveToAppState("CurrentPosition.Time", time); + App.SaveToAppState(Constants.GeoWatch_CurrentPosition_Lat, lat); + App.SaveToAppState(Constants.GeoWatch_CurrentPosition_Long, log); + App.SaveToAppState(Constants.GeoWatch_CurrentPosition_Time, time); } } /// - /// Method determine and store the current position of the phone, in 15 min intcavv + /// Method determine and store the current position of the phone, in 15 min interval /// public static void DetermineAndStoreCurrentPosition() { - string lat = App.LoadFromAppState("CurrentPosition.Lat"); - string log = App.LoadFromAppState("CurrentPosition.Long"); - string time = App.LoadFromAppState("CurrentPosition.Time"); + string lat = App.LoadFromAppState(Constants.GeoWatch_CurrentPosition_Lat); + string log = App.LoadFromAppState(Constants.GeoWatch_CurrentPosition_Long); + string time = App.LoadFromAppState(Constants.GeoWatch_CurrentPosition_Time); if (lat == null || log == null || time == null || lat.Equals(string.Empty) || log.Equals(string.Empty) || time.Equals(string.Empty)) { Utilities.DetermineAndStoreCurrentPositionForce(); @@ -245,7 +251,7 @@ namespace CampusAppWP8.Utility else { long longTime = 0; - if(!long.TryParse(time, out longTime)) + if (!long.TryParse(time, out longTime)) { return; } @@ -253,9 +259,7 @@ namespace CampusAppWP8.Utility DateTime expired = new DateTime(longTime).AddMinutes(15); if (DateTime.Now.Ticks > expired.Ticks) { - Utilities.DetermineAndStoreCurrentPositionForce(); - } } }