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; } ///