From cf4c5dc486d518751b33b7a611f9834289dd83db Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 16 Jul 2013 12:20:16 +0200 Subject: [PATCH] change to XMLModel --- .../CampusAppWP8/Api/Lecture/LectureApi.cs | 2 +- .../CampusAppWP8/Feed/Events/EventFeed.cs | 2 +- .../CampusAppWP8/Feed/Mensa/MensaFeed.cs | 2 +- .../CampusAppWP8/Feed/News/NewsFeed.cs | 2 +- .../Feed/Openinghours/OpeninghoursFeed.cs | 63 ++++++++++--------- .../Feed/StudentCouncil/StudentCouncilFeed.cs | 2 +- .../Pages/Events/EventIndexPage.xaml.cs | 2 +- .../Pages/Lecture/LecturePage.xaml.cs | 2 +- .../CampusAppWP8/Pages/Links/LinkPage.xaml.cs | 4 -- .../Pages/News/NewsIndexPage.xaml.cs | 2 +- .../Openinghours/OpeninghoursPage.xaml.cs | 11 +--- .../StudentCouncil/StudentCouncilPage.xaml.cs | 8 +-- .../Resources/Constants.Designer.cs | 18 ++++++ .../CampusAppWP8/Resources/Constants.resx | 6 ++ .../pages/mensa/MensaPage.xaml.cs | 13 ++-- 15 files changed, 77 insertions(+), 62 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs b/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs index 6b3a6e4f..885c86fc 100644 --- a/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs +++ b/CampusAppWP8/CampusAppWP8/Api/Lecture/LectureApi.cs @@ -5,7 +5,7 @@ // stubbfel // 13.06.2013 //---------------------------------------------------------------------- -namespace CampusAppWP8.Api.Lecture +namespace CampusAppWP8.Feed.Lecture { using System; using CampusAppWP8.Model.Lecture; diff --git a/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs index 696d0ad8..c82949ab 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Events/EventFeed.cs @@ -5,7 +5,7 @@ // fiedlchr // 24.06.2013 //---------------------------------------------------------------------- -namespace CampusAppWP8.Api.Events +namespace CampusAppWP8.Feed.Events { using CampusAppWP8.Model.RSS; using CampusAppWP8.Utility; diff --git a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs index f2c2509b..265d1aca 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs @@ -5,7 +5,7 @@ // stubbfel // 03.05.2013 //---------------------------------------------------------------------- -namespace CampusAppWP8.Api.Mensa +namespace CampusAppWP8.Feed.Mensa { using System; using System.IO; diff --git a/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs index be53d9b4..652dd442 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/News/NewsFeed.cs @@ -5,7 +5,7 @@ // fiedlchr // 24.06.2013 //----------------------------------------------------------------------------- -namespace CampusAppWP8.Api.News +namespace CampusAppWP8.Feed.News { using CampusAppWP8.Model.RSS; using CampusAppWP8.Utility; diff --git a/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs index 8200ca78..d1b0fb71 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Openinghours/OpeninghoursFeed.cs @@ -8,14 +8,15 @@ namespace CampusAppWP8.Feed.Openinghours { using System; - using System.Collections.ObjectModel; + using System.IO; + using CampusAppWP8.Model; using CampusAppWP8.Model.Openinghours; - using CampusAppWP8.Utility; + using CampusAppWP8.Resources; /// /// This Class is for MesaFeeds /// - public class OpeninghoursFeed : XmlFeed + public class OpeninghoursFeed : XmlModel { #region Constructor @@ -23,40 +24,46 @@ namespace CampusAppWP8.Feed.Openinghours /// Initializes a new instance of the class. /// public OpeninghoursFeed() - : base(URLList.OpeninghoursFeedURL, FileList.OpeninghoursXmlFile) + : base(ModelType.FileAndFeed, Constants.FileOpeningHours_OpeningHours, Constants.UrlOpeningHours_OpeningHours) { + this.isFileUpToDate += new IsFileUpToDate(this.CheckIsFileUpToDate); + this.isModelUpToDate += new IsModelUpToDate(this.CheckIsModelUpToDate); } #endregion #region Method - #region Protected - - /// - /// Method implement CheckIsModelUpToDate()-Method . - /// - /// true, if model is up-to-date, otherwise false - protected override bool CheckIsModelUpToDate() - { - DateTime lastModified = this.Model.CreateTime; - return this.CheckIsUpToDate(lastModified); - } - - /// - /// Method implement CheckIsFileUpToDate()-Method . - /// - /// true, if file is up-to-date, otherwise false - protected override bool CheckIsFileUpToDate() - { - DateTime lastModified = FileManager.GetFileInfo(FileName).LastWriteTime; - return this.CheckIsUpToDate(lastModified); - } - - #endregion - #region Private + /// + /// Method check if the FeedModel is up-to-date + /// + /// reference of the FeedModel + /// true, if model is up-to-date, otherwise false + private bool CheckIsModelUpToDate(OpeninghoursModel model) + { + if (model == null) + { + return false; + } + + DateTime lastModified = model.CreateTime; + return this.CheckIsUpToDate(lastModified); + } + + /// + /// Method check if the FeedFile is up-to-date + /// + /// reference of the FeedModel + /// info about the file + /// true, if file is up-to-date, otherwise false + private bool CheckIsFileUpToDate(OpeninghoursModel model, FileInfo fileInfo) + { + DateTime lastModified = fileInfo.LastWriteTime; + return this.CheckIsUpToDate(lastModified); + } + /// /// Check if the model or file is up-to-date. /// diff --git a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs index 07c7d21d..a2520fc3 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs @@ -48,7 +48,7 @@ namespace CampusAppWP8.Feed.StudentCouncil return false; } - DateTime lastModified = this.Model.CreateTime; + DateTime lastModified = model.CreateTime; return this.CheckIsUpToDate(lastModified); } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs index b6115544..883d8085 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs @@ -9,7 +9,7 @@ namespace CampusAppWP8.Pages.Events { using System.Linq; using System.Windows.Navigation; - using CampusAppWP8.Api.Events; + using CampusAppWP8.Feed.Events; using CampusAppWP8.Utility; using Microsoft.Phone.Controls; diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs index 779ba594..d1b83c22 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs @@ -12,7 +12,7 @@ namespace CampusAppWP8.Pages.Lecture using System.Windows; using System.Windows.Media.Imaging; using System.Windows.Navigation; - using CampusAppWP8.Api.Lecture; + using CampusAppWP8.Feed.Lecture; using CampusAppWP8.Model.Lecture; using CampusAppWP8.Model.Utility; using CampusAppWP8.Resources; diff --git a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs index a1f30692..f0ccccaa 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs @@ -7,13 +7,9 @@ //---------------------------------------------------------------------- namespace CampusAppWP8.Pages.Links { - using System; - using System.Windows; using System.Windows.Navigation; using CampusAppWP8.Feed.Link; - using CampusAppWP8.Utility; using Microsoft.Phone.Controls; - using Microsoft.Phone.Tasks; /// /// Class for the LinkPage diff --git a/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs index 7dfdc7f7..3eb12db7 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs @@ -9,7 +9,7 @@ namespace CampusAppWP8.Pages.News { using System.Linq; using System.Windows.Navigation; - using CampusAppWP8.Api.News; + using CampusAppWP8.Feed.News; using CampusAppWP8.Utility; using Microsoft.Phone.Controls; diff --git a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs index eb452409..7d484a9b 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs @@ -7,15 +7,10 @@ //---------------------------------------------------------------------- namespace CampusAppWP8.Pages.Openinghours { - using System.Linq; - using System.Windows; - using System.Windows.Controls; using System.Windows.Navigation; using CampusAppWP8.Feed.Openinghours; - using CampusAppWP8.Utility; using Microsoft.Phone.Controls; - using Microsoft.Phone.Tasks; - + /// /// Opening hours page. /// @@ -64,7 +59,7 @@ namespace CampusAppWP8.Pages.Openinghours this.ProgressBar.Visibility = System.Windows.Visibility.Visible; } - this.feed.LoadFeed(); + this.feed.LoadData(); } // protected @@ -78,7 +73,7 @@ namespace CampusAppWP8.Pages.Openinghours private void InitializeFeed() { this.feed = new OpeninghoursFeed(); - this.feed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.FeedIsReady); + this.feed.onLoaded += new OpeninghoursFeed.OnLoaded(this.FeedIsReady); } /// diff --git a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs index ec22a66e..fa36d6a6 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs @@ -7,15 +7,9 @@ //---------------------------------------------------------------------- namespace CampusAppWP8.Pages.StudentCouncil { - using System; - using System.Linq; - using System.Windows; - using System.Windows.Controls; using System.Windows.Navigation; - using CampusAppWP8.Feed.StudentCouncil; - using CampusAppWP8.Utility; using Microsoft.Phone.Controls; - using Microsoft.Phone.Tasks; + using CampusAppWP8.Feed.StudentCouncil; /// /// Class for the StudentCouncilPage diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs index 2d193a50..9e260590 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.Designer.cs @@ -105,6 +105,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die OpeninghoursFeed.xml ähnelt. + /// + public static string FileOpeningHours_OpeningHours { + get { + return ResourceManager.GetString("FileOpeningHours_OpeningHours", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die StudentCouncils.xml ähnelt. /// @@ -447,6 +456,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die http://www.tu-cottbus.de/campusapp-data/getdata.php?db=openinghours&app=2&appversion=1 ähnelt. + /// + public static string UrlOpeningHours_OpeningHours { + get { + return ResourceManager.GetString("UrlOpeningHours_OpeningHours", 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 d0190478..8a91912e 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -255,4 +255,10 @@ http://www.studentenwerk-frankfurt.de/2011/ClassPackage/App_IKMZ_BTU/ + + OpeninghoursFeed.xml + + + http://www.tu-cottbus.de/campusapp-data/getdata.php?db=openinghours&app=2&appversion=1 + \ 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 7dfa87a9..7dedec7c 100644 --- a/CampusAppWP8/CampusAppWP8/pages/mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/pages/mensa/MensaPage.xaml.cs @@ -9,9 +9,8 @@ namespace CampusAppWP8.Pages.Mensa { using System; using System.Windows.Navigation; - using CampusAppWP8.Api.Mensa; - using CampusAppWP8.Utility; - using Microsoft.Phone.Controls; + using CampusAppWP8.Feed.Mensa; + using Microsoft.Phone.Controls; /// /// Class for the MensaPage @@ -68,7 +67,7 @@ namespace CampusAppWP8.Pages.Mensa this.ProgressBar.Visibility = System.Windows.Visibility.Visible; this.feed.LoadData(); } -#endregion + #endregion #region private /// @@ -77,10 +76,10 @@ namespace CampusAppWP8.Pages.Mensa private void InitializeFeed() { this.feed = new MensaFeed(); - this.feed.onLoaded += new MensaFeed.OnLoaded(this.FeedIsReady); + this.feed.onLoaded += new MensaFeed.OnLoaded(this.FeedIsReady); this.CalcSelectedIndex(); } - + /// /// Method will be execute if the feed is ready @@ -98,7 +97,7 @@ namespace CampusAppWP8.Pages.Mensa { this.MensaPivot.ItemsSource = this.feed.Model.Menus; this.MensaPivot.SelectedIndex = this.selectedIndex; - } + } /// /// Method calculate which pivot has to be selected