diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs index c34b5f5a..2b40380a 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs @@ -8,14 +8,15 @@ namespace CampusAppWP8.Feed.Link { using System; + using System.IO; + using CampusAppWP8.Model; using CampusAppWP8.Model.Link; using CampusAppWP8.Resources; - using CampusAppWP8.Utility; /// /// This Class is for ClubLinkFeeds /// - public class ClubLinkFeed : XmlFeed + public class ClubLinkFeed : XmlModel { #region Constructor @@ -23,8 +24,10 @@ namespace CampusAppWP8.Feed.Link /// Initializes a new instance of the class. /// public ClubLinkFeed() - : base(new Uri(Constants.UrlLink_ClubLinks, UriKind.Absolute), Constants.FileLink_ClubLinks) + : base(ModelType.FileAndFeed, Constants.FileLink_ClubLinks, Constants.UrlLink_ClubLinks) { + this.isFileUpToDate += new IsFileUpToDate(this.CheckIsFileUpToDate); + this.isModelUpToDate += new IsModelUpToDate(this.CheckIsModelUpToDate); } #endregion @@ -37,9 +40,13 @@ namespace CampusAppWP8.Feed.Link /// Method implement CheckIsModelUpToDate()-Method . /// /// true, if model is up-to-date, otherwise false - protected override bool CheckIsModelUpToDate() + private bool CheckIsModelUpToDate(LinkListModel model) { - DateTime lastModified = this.Model.CreateTime; + if (model == null) + { + return false; + } + DateTime lastModified = model.CreateTime; return this.CheckIsUpToDate(lastModified); } @@ -47,12 +54,11 @@ namespace CampusAppWP8.Feed.Link /// Method implement CheckIsFileUpToDate()-Method . /// /// true, if file is up-to-date, otherwise false - protected override bool CheckIsFileUpToDate() + private bool CheckIsFileUpToDate(LinkListModel model, FileInfo fileInfo) { - DateTime lastModified = FileManager.GetFileInfo(FileName).LastWriteTime; + DateTime lastModified = fileInfo.LastWriteTime; return this.CheckIsUpToDate(lastModified); } - #endregion #region Private diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs index d1bd538c..eb94131f 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs @@ -11,11 +11,13 @@ namespace CampusAppWP8.Feed.Link using CampusAppWP8.Model.Link; using CampusAppWP8.Resources; using CampusAppWP8.Utility; + using CampusAppWP8.Model; + using System.IO; /// /// This Class is for CommonLinkFeeds /// - public class CommonLinkFeed : XmlFeed + public class CommonLinkFeed : XmlModel { #region Constructor @@ -23,8 +25,10 @@ namespace CampusAppWP8.Feed.Link /// Initializes a new instance of the class. /// public CommonLinkFeed() - : base(new Uri(Constants.UrlLink_CommonLinks, UriKind.Absolute), Constants.FileLink_CommonLinks) + : base(ModelType.FileAndFeed, Constants.FileLink_CommonLinks, Constants.UrlLink_CommonLinks) { + this.isFileUpToDate += new IsFileUpToDate(this.CheckIsFileUpToDate); + this.isModelUpToDate += new IsModelUpToDate(this.CheckIsModelUpToDate); } #endregion @@ -37,9 +41,13 @@ namespace CampusAppWP8.Feed.Link /// Method implement CheckIsModelUpToDate()-Method . /// /// true, if model is up-to-date, otherwise false - protected override bool CheckIsModelUpToDate() + private bool CheckIsModelUpToDate(LinkListModel model) { - DateTime lastModified = this.Model.CreateTime; + if (model == null) + { + return false; + } + DateTime lastModified = model.CreateTime; return this.CheckIsUpToDate(lastModified); } @@ -47,9 +55,9 @@ namespace CampusAppWP8.Feed.Link /// Method implement CheckIsFileUpToDate()-Method . /// /// true, if file is up-to-date, otherwise false - protected override bool CheckIsFileUpToDate() + private bool CheckIsFileUpToDate(LinkListModel model, FileInfo fileInfo) { - DateTime lastModified = FileManager.GetFileInfo(FileName).LastWriteTime; + DateTime lastModified = fileInfo.LastWriteTime; return this.CheckIsUpToDate(lastModified); } diff --git a/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs index b67c93d9..be53d9b4 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs @@ -20,6 +20,8 @@ namespace CampusAppWP8.Api.News /// public NewsFeed() : base(URLList.NewsFeedURL, "NewsFeed.xml") { + + } /// @@ -37,7 +39,7 @@ namespace CampusAppWP8.Api.News /// true, if file is up-to-date, otherwise false protected override bool CheckIsFileUpToDate() { - return true; + return false; } } } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs index 5a0cd3bc..a1f30692 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs @@ -66,8 +66,8 @@ namespace CampusAppWP8.Pages.Links this.InitializeFeeds(); this.ProgressBar.Visibility = System.Windows.Visibility.Visible; this.loadingFeeds = 2; - this.commonLinkFeed.LoadFeed(); - this.clubLinkFeed.LoadFeed(); + this.commonLinkFeed.LoadData(); + this.clubLinkFeed.LoadData(); } #endregion @@ -95,7 +95,7 @@ namespace CampusAppWP8.Pages.Links private void InitializeCommonLinkFeed() { this.commonLinkFeed = new CommonLinkFeed(); - this.commonLinkFeed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.CommonLinkFeedIsReady); + this.commonLinkFeed.onLoaded += new CommonLinkFeed.OnLoaded(this.CommonLinkFeedIsReady); } /// @@ -104,7 +104,7 @@ namespace CampusAppWP8.Pages.Links private void InitializeClubLinkFeed() { this.clubLinkFeed = new ClubLinkFeed(); - this.clubLinkFeed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.ClubLinkFeedIsReady); + this.clubLinkFeed.onLoaded += new ClubLinkFeed.OnLoaded(this.ClubLinkFeedIsReady); } /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index 722c4e59..ac03ffd4 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.18046 +// Laufzeitversion:4.0.30319.18051 // // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // der Code erneut generiert wird. @@ -357,6 +357,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die stud. Vereine ähnelt. + /// + public static string LinkApp_ClubLinks { + get { + return ResourceManager.GetString("LinkApp_ClubLinks", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die allg. Links ähnelt. + /// + public static string LinkApp_CommonLinks { + get { + return ResourceManager.GetString("LinkApp_CommonLinks", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Links ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx index 88f17191..a3f759ac 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -311,4 +311,10 @@ Öffnungszeiten + + stud. Vereine + + + allg. Links + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs index e0e40f5b..ca2cce6d 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.18046 +// Laufzeitversion:4.0.30319.18051 // // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // der Code erneut generiert wird. @@ -141,6 +141,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die ähnelt. + /// + public static string LinkApp_CommonLinks { + get { + return ResourceManager.GetString("LinkApp_CommonLinks", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Studiengang ähnelt. /// @@ -412,7 +421,7 @@ namespace CampusAppWP8.Resources { } /// - /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=clubs&app=2&appversion=1 ähnelt. + /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=clubs&app=2&appversion=1 ähnelt. /// public static string UrlLink_ClubLinks { get { @@ -421,7 +430,7 @@ namespace CampusAppWP8.Resources { } /// - /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=links&app=2&appversion=1 ähnelt. + /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=links&app=2&appversion=1 ähnelt. /// public static string UrlLink_CommonLinks { get { @@ -430,7 +439,7 @@ namespace CampusAppWP8.Resources { } /// - /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=studentcouncils&app=2&appversion=1 ähnelt. + /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=studentcouncils&app=2&appversion=1 ähnelt. /// public static string UrlStudentCouncil_StudentCouncils { get { diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index f459442d..3a6c8ba2 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -241,12 +241,15 @@ ToggleContent - http://www.tu-cottbus.de/campusapp-data/getdata.php?db=clubs&app=2&appversion=1 + http://www.tu-cottbus.de/campusapp-data/getdata.php?db=clubs&app=2&appversion=1 - http://www.tu-cottbus.de/campusapp-data/getdata.php?db=links&app=2&appversion=1 + http://www.tu-cottbus.de/campusapp-data/getdata.php?db=links&app=2&appversion=1 - http://www.tu-cottbus.de/campusapp-data/getdata.php?db=studentcouncils&app=2&appversion=1 + http://www.tu-cottbus.de/campusapp-data/getdata.php?db=studentcouncils&app=2&appversion=1 + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Utility/Api.cs b/CampusAppWP8/CampusAppWP8/Utility/Api.cs index a7ef98e5..a0178de8 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Api.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Api.cs @@ -139,6 +139,6 @@ namespace CampusAppWP8.Utility } #endregion -#endregion + #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/model/MainModel.cs b/CampusAppWP8/CampusAppWP8/model/MainModel.cs index b1a415a9..e3a5617f 100644 --- a/CampusAppWP8/CampusAppWP8/model/MainModel.cs +++ b/CampusAppWP8/CampusAppWP8/model/MainModel.cs @@ -12,7 +12,7 @@ namespace CampusAppWP8 using System.Net; using System.Text; using CampusAppWP8.Utility; - + /// /// Base model io handling class. /// @@ -267,7 +267,7 @@ namespace CampusAppWP8 else { string data = this.file.ReadFile(); - + if (data != null && !data.Equals(string.Empty)) { this.DeserializeModel(Encoding.UTF8.GetBytes(data)); @@ -299,7 +299,7 @@ namespace CampusAppWP8 byte[] data = this.SerializeModel(); this.file.WriteFile(data); - + if (this.onSaved != null) { this.onSaved();