From 1d434a394f8b255be960e8d9d8e9cd197cff94c4 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 22 Jul 2013 16:01:25 +0200 Subject: [PATCH 1/5] finish #121 --- .../CampusAppWP8/Feed/Link/ClubLinkFeed.cs | 38 ++++++++++++------- .../CampusAppWP8/Feed/Link/CommonLinkFeed.cs | 38 ++++++++++++------- .../CampusAppWP8/Feed/Mensa/MensaFeed.cs | 28 ++++++++++++-- .../Feed/StudentCouncil/StudentCouncilFeed.cs | 37 +++++++++++------- .../CampusAppWP8/Pages/Links/LinkPage.xaml.cs | 2 + .../Pages/Mensa/MensaPage.xaml.cs | 1 + .../Openinghours/OpeninghoursPage.xaml.cs | 1 + .../StudentCouncil/StudentCouncilPage.xaml.cs | 1 + 8 files changed, 104 insertions(+), 42 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs index 76f9d279..7f328f0a 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs @@ -12,6 +12,7 @@ namespace CampusAppWP8.Feed.Link using CampusAppWP8.Model; using CampusAppWP8.Model.Link; using CampusAppWP8.Resources; + using CampusAppWP8.Utility; /// /// This Class is for ClubLinkFeeds @@ -26,8 +27,9 @@ namespace CampusAppWP8.Feed.Link public ClubLinkFeed() : base(ModelType.FileAndFeed, Constants.FileLink_ClubLinks, Constants.UrlLink_ClubLinks) { - this.isFileUpToDate += new IsFileUpToDate(this.CheckIsFileUpToDate); - this.isModelUpToDate += new IsModelUpToDate(this.CheckIsModelUpToDate); + this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); + this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); + this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } #endregion @@ -58,12 +60,31 @@ namespace CampusAppWP8.Feed.Link /// reference of the FeedModel /// info about the file /// true, if file is up-to-date, otherwise false - private bool CheckIsFileUpToDate(LinkListModel model, FileInfo fileInfo) + private bool CheckIsFileUpToDateOnLoad(LinkListModel model, FileInfo fileInfo) { DateTime lastModified = fileInfo.LastWriteTime; 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 CheckIsFileUpToDateOnSave(LinkListModel model, FileInfo fileInfo) + { + bool retValue = true; + + if ((fileInfo.Exists == false) + || (fileInfo.Length == 0)) + { + retValue = false; + } + + return retValue; + } + /// /// Check if the model or file is up-to-date. /// @@ -71,16 +92,7 @@ namespace CampusAppWP8.Feed.Link /// true, if is up-to-date, otherwise false private bool CheckIsUpToDate(DateTime lastModified) { - DateTime temp = lastModified.AddDays(1); - - int diff = temp.CompareTo(DateTime.Now); - - if (diff < 0) - { - return false; - } - - return true; + return Utilities.DayDifference(Utilities.DifferenceType.Less, lastModified, 7.0); } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs index 35c1db36..2c99598b 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs @@ -12,6 +12,7 @@ namespace CampusAppWP8.Feed.Link using CampusAppWP8.Model; using CampusAppWP8.Model.Link; using CampusAppWP8.Resources; + using CampusAppWP8.Utility; /// /// This Class is for CommonLinkFeeds @@ -26,8 +27,9 @@ namespace CampusAppWP8.Feed.Link public CommonLinkFeed() : base(ModelType.FileAndFeed, Constants.FileLink_CommonLinks, Constants.UrlLink_CommonLinks) { - this.isFileUpToDate += new IsFileUpToDate(this.CheckIsFileUpToDate); - this.isModelUpToDate += new IsModelUpToDate(this.CheckIsModelUpToDate); + this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); + this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); + this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } #endregion @@ -58,7 +60,26 @@ namespace CampusAppWP8.Feed.Link /// reference of the FeedModel /// info about the file /// true, if file is up-to-date, otherwise false - private bool CheckIsFileUpToDate(LinkListModel model, FileInfo fileInfo) + private bool CheckIsFileUpToDateOnSave(LinkListModel model, FileInfo fileInfo) + { + bool retValue = true; + + if ((fileInfo.Exists == false) + || (fileInfo.Length == 0)) + { + retValue = false; + } + + return retValue; + } + + /// + /// 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 CheckIsFileUpToDateOnLoad(LinkListModel model, FileInfo fileInfo) { DateTime lastModified = fileInfo.LastWriteTime; return this.CheckIsUpToDate(lastModified); @@ -71,16 +92,7 @@ namespace CampusAppWP8.Feed.Link /// true, if is up-to-date, otherwise false private bool CheckIsUpToDate(DateTime lastModified) { - DateTime temp = lastModified.AddDays(1); - - int diff = temp.CompareTo(DateTime.Now); - - if (diff < 0) - { - return false; - } - - return true; + return Utilities.DayDifference(Utilities.DifferenceType.Less, lastModified, 7.0); } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs index 265d1aca..659f110e 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs @@ -12,6 +12,7 @@ namespace CampusAppWP8.Feed.Mensa using CampusAppWP8.Model; using CampusAppWP8.Model.Mensa; using CampusAppWP8.Resources; + using CampusAppWP8.Utility; /// /// This Class is for MensaFeeds @@ -26,8 +27,9 @@ namespace CampusAppWP8.Feed.Mensa public MensaFeed() : base(ModelType.FileAndFeed, Constants.FileMensa_Shedule, Constants.UrlMensa_Week) { - this.isFileUpToDate += new IsFileUpToDate(this.CheckIsFileUpToDate); - this.isModelUpToDate += new IsModelUpToDate(this.CheckIsModelUpToDate); + this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); + this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); + this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } #endregion @@ -58,12 +60,31 @@ namespace CampusAppWP8.Feed.Mensa /// reference of the FeedModel /// info about the file /// true, if file is up-to-date, otherwise false - private bool CheckIsFileUpToDate(MenuWeekModel model, FileInfo fileInfo) + private bool CheckIsFileUpToDateOnLoad(MenuWeekModel model, FileInfo fileInfo) { DateTime lastModified = fileInfo.LastWriteTime; 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 CheckIsFileUpToDateOnSave(MenuWeekModel model, FileInfo fileInfo) + { + bool retValue = true; + + if ((fileInfo.Exists == false) + || (fileInfo.Length == 0)) + { + retValue = false; + } + + return retValue; + } + /// /// Method check if the last modification was later as the NewMenuWeekDay /// @@ -81,6 +102,7 @@ namespace CampusAppWP8.Feed.Mensa return true; } + #endregion #endregion diff --git a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs index a2520fc3..3c8027bf 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs @@ -12,6 +12,7 @@ namespace CampusAppWP8.Feed.StudentCouncil using CampusAppWP8.Model; using CampusAppWP8.Model.StudentCouncil; using CampusAppWP8.Resources; + using CampusAppWP8.Utility; /// /// This Class is for StudentCouncilFeed @@ -26,8 +27,9 @@ namespace CampusAppWP8.Feed.StudentCouncil public StudentCouncilFeed() : base(ModelType.FileAndFeed, Constants.FileStudentCouncil_StudentCouncils, Constants.UrlStudentCouncil_StudentCouncils) { - this.isFileUpToDate += new IsFileUpToDate(this.CheckIsFileUpToDate); - this.isModelUpToDate += new IsModelUpToDate(this.CheckIsModelUpToDate); + this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); + this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); + this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } #endregion @@ -58,12 +60,30 @@ namespace CampusAppWP8.Feed.StudentCouncil /// reference of the FeedModel /// info about the file /// true, if file is up-to-date, otherwise false - private bool CheckIsFileUpToDate(StudentCouncilListModel model, FileInfo fileInfo) + private bool CheckIsFileUpToDateOnLoad(StudentCouncilListModel model, FileInfo fileInfo) { DateTime lastModified = fileInfo.LastWriteTime; 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 CheckIsFileUpToDateOnSave(StudentCouncilListModel model, FileInfo fileInfo) + { + bool retValue = true; + + if ((fileInfo.Exists == false) + || (fileInfo.Length == 0)) + { + retValue = false; + } + + return retValue; + } /// /// Check if the model or file is up-to-date. /// @@ -71,16 +91,7 @@ namespace CampusAppWP8.Feed.StudentCouncil /// true, if is up-to-date, otherwise false private bool CheckIsUpToDate(DateTime lastModified) { - DateTime temp = lastModified.AddDays(1); - - int diff = temp.CompareTo(DateTime.Now); - - if (diff < 0) - { - return false; - } - - return true; + return Utilities.DayDifference(Utilities.DifferenceType.Less, lastModified, 7.0); } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs index f0ccccaa..e12e313b 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs @@ -115,6 +115,7 @@ namespace CampusAppWP8.Pages.Links { this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; } + this.commonLinkFeed.SaveData(); } /// @@ -128,6 +129,7 @@ namespace CampusAppWP8.Pages.Links { this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; } + this.clubLinkFeed.SaveData(); } /// diff --git a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs index 8b531f1b..a1e18c30 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs @@ -88,6 +88,7 @@ namespace CampusAppWP8.Pages.Mensa { this.SetupMensaPivot(); this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; + this.feed.SaveData(); } /// diff --git a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs index 7d484a9b..1be5c5b5 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs @@ -83,6 +83,7 @@ namespace CampusAppWP8.Pages.Openinghours { this.SetupInstitutionList(); this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; + this.feed.SaveData(); } /// diff --git a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs index fa36d6a6..9b427ae6 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs @@ -77,6 +77,7 @@ namespace CampusAppWP8.Pages.StudentCouncil { this.SetupStudentCouncilPivot(); this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; + this.feed.SaveData(); } /// From dd7ef6e82e40e2fdee2efd374ed352672adeae53 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 22 Jul 2013 16:26:03 +0200 Subject: [PATCH 2/5] rmfile onsaved --- .../CampusAppWP8/Feed/Link/ClubLinkFeed.cs | 20 ------------------- .../CampusAppWP8/Feed/Link/CommonLinkFeed.cs | 20 ------------------- .../CampusAppWP8/Feed/Mensa/MensaFeed.cs | 20 ------------------- .../Feed/StudentCouncil/StudentCouncilFeed.cs | 19 ------------------ 4 files changed, 79 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs index 7f328f0a..d6a0b9af 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/ClubLinkFeed.cs @@ -28,7 +28,6 @@ namespace CampusAppWP8.Feed.Link : base(ModelType.FileAndFeed, Constants.FileLink_ClubLinks, Constants.UrlLink_ClubLinks) { this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); - this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } @@ -66,25 +65,6 @@ namespace CampusAppWP8.Feed.Link 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 CheckIsFileUpToDateOnSave(LinkListModel model, FileInfo fileInfo) - { - bool retValue = true; - - if ((fileInfo.Exists == false) - || (fileInfo.Length == 0)) - { - retValue = false; - } - - return retValue; - } - /// /// Check if the model or file is up-to-date. /// diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs index 2c99598b..a51a3a20 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs @@ -28,7 +28,6 @@ namespace CampusAppWP8.Feed.Link : base(ModelType.FileAndFeed, Constants.FileLink_CommonLinks, Constants.UrlLink_CommonLinks) { this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); - this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } @@ -54,25 +53,6 @@ namespace CampusAppWP8.Feed.Link 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 CheckIsFileUpToDateOnSave(LinkListModel model, FileInfo fileInfo) - { - bool retValue = true; - - if ((fileInfo.Exists == false) - || (fileInfo.Length == 0)) - { - retValue = false; - } - - return retValue; - } - /// /// Method check if the FeedFile is up-to-date /// diff --git a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs index 659f110e..9a1a2886 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs @@ -28,7 +28,6 @@ namespace CampusAppWP8.Feed.Mensa : base(ModelType.FileAndFeed, Constants.FileMensa_Shedule, Constants.UrlMensa_Week) { this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); - this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } @@ -66,25 +65,6 @@ namespace CampusAppWP8.Feed.Mensa 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 CheckIsFileUpToDateOnSave(MenuWeekModel model, FileInfo fileInfo) - { - bool retValue = true; - - if ((fileInfo.Exists == false) - || (fileInfo.Length == 0)) - { - retValue = false; - } - - return retValue; - } - /// /// Method check if the last modification was later as the NewMenuWeekDay /// diff --git a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs index 3c8027bf..caaddd5c 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/StudentCouncil/StudentCouncilFeed.cs @@ -28,7 +28,6 @@ namespace CampusAppWP8.Feed.StudentCouncil : base(ModelType.FileAndFeed, Constants.FileStudentCouncil_StudentCouncils, Constants.UrlStudentCouncil_StudentCouncils) { this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); - this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave); this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } @@ -66,24 +65,6 @@ namespace CampusAppWP8.Feed.StudentCouncil 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 CheckIsFileUpToDateOnSave(StudentCouncilListModel model, FileInfo fileInfo) - { - bool retValue = true; - - if ((fileInfo.Exists == false) - || (fileInfo.Length == 0)) - { - retValue = false; - } - - return retValue; - } /// /// Check if the model or file is up-to-date. /// From 9662be5632f8996ea1c4478a641f2b67c2e762c4 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 22 Jul 2013 17:18:59 +0200 Subject: [PATCH 3/5] add updatebutton --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 1 + .../CampusAppWP8/Pages/Mensa/MensaPage.xaml | 6 +++ .../Pages/Mensa/MensaPage.xaml.cs | 14 ++++++ .../Utility/Lui/Button/UpdateButtonAppBar.cs | 48 +++++++++++++++++++ 4 files changed, 69 insertions(+) create mode 100644 CampusAppWP8/CampusAppWP8/Utility/Lui/Button/UpdateButtonAppBar.cs diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index 8a4bfa58..1c76561c 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -212,6 +212,7 @@ + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml index aed38723..712adcde 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml @@ -6,6 +6,7 @@ xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:lui="clr-namespace:CampusAppWP8.Utility.Lui.Button" mc:Ignorable="d" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" @@ -137,4 +138,9 @@ + + + + + \ 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 a1e18c30..cc42ef95 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Mensa/MensaPage.xaml.cs @@ -131,7 +131,21 @@ namespace CampusAppWP8.Pages.Mensa this.selectedIndex = todayIndex; } + + /// + /// On clicking the update button in the ApplicationBar. + /// Force a data update from the web. + /// + /// button object + /// event args + private void MensaForceUpdate_Click(object sender, EventArgs e) + { + this.ProgressBar.Visibility = System.Windows.Visibility.Visible; + this.feed.ForceWebUpdate(); + } + #endregion + #endregion } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Utility/Lui/Button/UpdateButtonAppBar.cs b/CampusAppWP8/CampusAppWP8/Utility/Lui/Button/UpdateButtonAppBar.cs new file mode 100644 index 00000000..36472d6a --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Utility/Lui/Button/UpdateButtonAppBar.cs @@ -0,0 +1,48 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 22.07.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Utility.Lui.Button +{ + using System; + using System.Windows; + using CampusAppWP8.Resources; + using Microsoft.Phone.Shell; + + /// + /// This class create an Button which start the Email-Client + /// + public class UpdateButtonAppBar : ApplicationBarIconButton + { + #region Members + + /// + /// IconUri of the Button + /// + private static Uri iconUri = new Uri(Icons.Update, UriKind.Relative); + + /// + /// Text of the Button + /// + private static string text = AppResources.UpdateBtn; + + #endregion + + #region Constructors + + /// + /// Initializes a new instance of the class. + /// + public UpdateButtonAppBar() + : base() + { + this.IconUri = UpdateButtonAppBar.iconUri; + this.Text = UpdateButtonAppBar.text; + } + + #endregion + } +} From 970c6ce8e8c7b161a5bdd8c0fbc4d84efa8c7cc1 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 22 Jul 2013 18:32:01 +0200 Subject: [PATCH 4/5] finish #125 --- .../CampusAppWP8/Feed/Link/CommonLinkFeed.cs | 1 + .../Pages/Departments/DepartmentIndexPage.xaml | 6 ++++++ .../Departments/DepartmentIndexPage.xaml.cs | 11 +++++++++++ .../CampusAppWP8/Pages/Links/LinkPage.xaml | 6 +++++- .../CampusAppWP8/Pages/Links/LinkPage.xaml.cs | 14 ++++++++++++++ .../Pages/Openinghours/OpeninghoursPage.xaml | 6 +++++- .../Pages/Openinghours/OpeninghoursPage.xaml.cs | 12 ++++++++++++ .../Pages/StudentCouncil/StudentCouncilPage.xaml | 6 +++++- .../StudentCouncil/StudentCouncilPage.xaml.cs | 13 +++++++++++++ CampusAppWP8/CampusAppWP8/Utility/File.cs | 16 ++++++++++++---- 10 files changed, 84 insertions(+), 7 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs index a51a3a20..721c5fc3 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Link/CommonLinkFeed.cs @@ -28,6 +28,7 @@ namespace CampusAppWP8.Feed.Link : base(ModelType.FileAndFeed, Constants.FileLink_CommonLinks, Constants.UrlLink_CommonLinks) { this.isFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); + this.isFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad); this.isModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate); } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml index 7cf96e78..8c1c6225 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml @@ -6,6 +6,7 @@ xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:lui="clr-namespace:CampusAppWP8.Utility.Lui.Button" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" @@ -74,4 +75,9 @@ + + + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs index 9c048b81..eab525bb 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs @@ -156,5 +156,16 @@ namespace CampusAppWP8.Pages.Departments NavigationService.Navigate(new Uri(Constants.PathDepartment_DepartmentPage + "?pivotindex=" + tempElem.Tag, UriKind.Relative)); } + + /// + /// On clicking the update button in the ApplicationBar. + /// Force a data update from the web. + /// + /// button object + /// event args + private void DeptForceUpdate_Click(object sender, EventArgs e) + { + DepartmentIndexPage.feed.ForceWebUpdate(); + } } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml index f0378ecc..0057ec4c 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml @@ -58,5 +58,9 @@ - + + + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs index e12e313b..8800886d 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs @@ -10,6 +10,7 @@ namespace CampusAppWP8.Pages.Links using System.Windows.Navigation; using CampusAppWP8.Feed.Link; using Microsoft.Phone.Controls; + using System; /// /// Class for the LinkPage @@ -148,6 +149,19 @@ namespace CampusAppWP8.Pages.Links this.ClubLinkPanel.ItemsSource = this.clubLinkFeed.Model.Links; } + /// + /// On clicking the update button in the ApplicationBar. + /// Force a data update from the web. + /// + /// button object + /// event args + private void LinkForceUpdate_Click(object sender, EventArgs e) + { + this.loadingFeeds = 2; + this.ProgressBar.Visibility = System.Windows.Visibility.Visible; + this.commonLinkFeed.ForceWebUpdate(); + this.clubLinkFeed.ForceWebUpdate(); + } #endregion #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml index 40dce836..32570e7c 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml @@ -126,5 +126,9 @@ - + + + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs index 1be5c5b5..b8c56c47 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Openinghours/OpeninghoursPage.xaml.cs @@ -10,6 +10,7 @@ namespace CampusAppWP8.Pages.Openinghours using System.Windows.Navigation; using CampusAppWP8.Feed.Openinghours; using Microsoft.Phone.Controls; + using System; /// /// Opening hours page. @@ -94,6 +95,17 @@ namespace CampusAppWP8.Pages.Openinghours this.InstitutionPanel.ItemsSource = this.feed.Model.Institutions; } + /// + /// On clicking the update button in the ApplicationBar. + /// Force a data update from the web. + /// + /// button object + /// event args + private void OpenHoursForceUpdate_Click(object sender, EventArgs e) + { + this.ProgressBar.Visibility = System.Windows.Visibility.Visible; + this.feed.ForceWebUpdate(); + } // private #endregion // Method diff --git a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml index 6be59cd1..f4f7b52c 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml @@ -52,5 +52,9 @@ - + + + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs index 9b427ae6..486d4611 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/StudentCouncil/StudentCouncilPage.xaml.cs @@ -10,6 +10,7 @@ namespace CampusAppWP8.Pages.StudentCouncil using System.Windows.Navigation; using Microsoft.Phone.Controls; using CampusAppWP8.Feed.StudentCouncil; + using System; /// /// Class for the StudentCouncilPage @@ -88,6 +89,18 @@ namespace CampusAppWP8.Pages.StudentCouncil this.StudentCouncilPivot.ItemsSource = this.feed.Model.GetStudentCouncilsGroupByFaculty(); } + /// + /// On clicking the update button in the ApplicationBar. + /// Force a data update from the web. + /// + /// button object + /// event args + private void StudentForceUpdate_Click(object sender, EventArgs e) + { + this.ProgressBar.Visibility = System.Windows.Visibility.Visible; + this.feed.ForceWebUpdate(); + } + #endregion #endregion diff --git a/CampusAppWP8/CampusAppWP8/Utility/File.cs b/CampusAppWP8/CampusAppWP8/Utility/File.cs index 8e6fcae3..b3e51dc0 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/File.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/File.cs @@ -220,11 +220,19 @@ namespace CampusAppWP8.Utility /// data array private async void WriteAsync(byte[] data) { - var file = await File.LocalFolder.CreateFileAsync(this.filename, CreationCollisionOption.ReplaceExisting); - - using (var s = await file.OpenStreamForWriteAsync()) + try { - await s.WriteAsync(data, 0, data.Length); + var file = await File.LocalFolder.CreateFileAsync(this.filename, CreationCollisionOption.ReplaceExisting); + + using (var s = await file.OpenStreamForWriteAsync()) + { + await s.WriteAsync(data, 0, data.Length); + } + } + catch (Exception e) + { + // log write Error + Logger.LogException(e); } } } From 0df8f72c538abd3892b1913f7aa94215c8330c80 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Mon, 22 Jul 2013 18:45:41 +0200 Subject: [PATCH 5/5] finish #127 --- .../CampusAppWP8/Pages/Links/LinkPage.xaml.cs | 16 +++++++++---- .../CampusAppWP8/Utility/HttpRequest.cs | 23 +++++++++---------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs index 8800886d..e85a87b6 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Links/LinkPage.xaml.cs @@ -67,6 +67,15 @@ namespace CampusAppWP8.Pages.Links this.clubLinkFeed.LoadData(); } + /// + /// Override the OnNavigatedTo method + /// + /// Arguments of navigation + protected override void OnNavigatedFrom(NavigationEventArgs e) + { + this.clubLinkFeed.SaveData(); + this.commonLinkFeed.SaveData(); + } #endregion #region private @@ -114,9 +123,9 @@ namespace CampusAppWP8.Pages.Links if (this.loadingFeeds < 1) { - this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; + this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; } - this.commonLinkFeed.SaveData(); + } /// @@ -129,8 +138,7 @@ namespace CampusAppWP8.Pages.Links if (this.loadingFeeds < 1) { this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; - } - this.clubLinkFeed.SaveData(); + } } /// diff --git a/CampusAppWP8/CampusAppWP8/Utility/HttpRequest.cs b/CampusAppWP8/CampusAppWP8/Utility/HttpRequest.cs index ebb30a38..665a004f 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/HttpRequest.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/HttpRequest.cs @@ -17,13 +17,12 @@ namespace CampusAppWP8.Utility /// public class HttpRequest { - #region Members + #region Member /// - /// the WebClient, which send the requests + /// BaseAddress of the webclient /// - private WebClient client; - + private string baseAddress; #endregion #region Constructor @@ -33,7 +32,6 @@ namespace CampusAppWP8.Utility /// public HttpRequest() { - this.client = new WebClient(); } /// @@ -42,8 +40,7 @@ namespace CampusAppWP8.Utility /// the url of the HttpRequest base address public HttpRequest(Uri apiBaseAddress) { - this.client = new WebClient(); - this.client.BaseAddress = apiBaseAddress.AbsoluteUri; + baseAddress = apiBaseAddress.AbsoluteUri; } #endregion @@ -58,8 +55,9 @@ namespace CampusAppWP8.Utility /// callback method public void HttpGet(Uri url, Action action) { - this.client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(action); - this.client.DownloadStringAsync(url); + WebClient client = new WebClient(); + client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(action); + client.DownloadStringAsync(url); } /// @@ -75,7 +73,7 @@ namespace CampusAppWP8.Utility paramterStr += parameter.ToString(); } - string getUrlStr = this.client.BaseAddress + "?" + paramterStr; + string getUrlStr = baseAddress + "?" + paramterStr; return new Uri(getUrlStr, UriKind.Absolute); } @@ -190,8 +188,9 @@ namespace CampusAppWP8.Utility /// Data which are sending to the HttpRequest private void UploadData(Uri url, Action action, string method, string data) { - this.client.UploadStringCompleted += new UploadStringCompletedEventHandler(action); - this.client.UploadStringAsync(url, method, data); + WebClient client = new WebClient(); + client.UploadStringCompleted += new UploadStringCompletedEventHandler(action); + client.UploadStringAsync(url, method, data); } #endregion