diff --git a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentFavoritePage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentFavoritePage.xaml.cs index f45eb0cb..e79b9981 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentFavoritePage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentFavoritePage.xaml.cs @@ -180,7 +180,7 @@ namespace CampusAppWP8.Pages.Departments FrameworkElement infoBtn = sender as FrameworkElement; string chairName = ((this.lastClickedBtn as Button).Content as TextBlock).Text.ToString(); - NavigationService.Navigate(new Uri(Constants.PathDepartment_DepartmentInfoPage + "?url=" + infoBtn.Tag.ToString() + "&name=" + chairName, UriKind.Relative)); + NavigationService.Navigate(new Uri(Constants.PathDepartment_DepartmentInfoPage + "?" + Constants.ParamUrl + "=" + infoBtn.Tag.ToString() + "&" + Constants.ParamName + "=" + chairName, UriKind.Relative)); } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs index cfdf92f8..e06cd045 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentIndexPage.xaml.cs @@ -47,16 +47,7 @@ namespace CampusAppWP8.Pages.Departments this.progressBar.Visibility = Visibility.Visible; //// init feed objects - if (DepartmentIndexPage.feed == null) - { - DepartmentIndexPage.feed = new DepartmentFeed(false); - } - - DepartmentIndexPage.feed.OnLoaded += new DepartmentFeed.OnIO(this.SetupFacultyList); - DepartmentIndexPage.feed.OnFailedWeb += new DepartmentFeed.OnFailed(this.FeedIsFailedWeb); - DepartmentIndexPage.feed.OnFailedFile += new DepartmentFeed.OnFailed(this.FeedIsFailedFile); - - DepartmentIndexPage.feed.LoadData(Utilities.GetLoadModus()); + DepartmentIndexPage.InitFeed(this.SetupFacultyList, this.FeedIsFailedWeb, this.FeedIsFailedFile); if (DepartmentIndexPage.favorite == null) { @@ -83,10 +74,7 @@ namespace CampusAppWP8.Pages.Departments set { - if (value != DepartmentIndexPage.feed) - { - DepartmentIndexPage.feed = value; - } + DepartmentIndexPage.feed = value; } } @@ -179,6 +167,26 @@ namespace CampusAppWP8.Pages.Departments { } + /// + /// Initialize the feed objects and load the data. + /// + public static void InitFeed(DepartmentFeed.OnIO onLoaded = null, DepartmentFeed.OnIO failedWeb = null, DepartmentFeed.OnIO failedFile = null) + { + if (DepartmentIndexPage.feed == null) + { + DepartmentIndexPage.feed = new DepartmentFeed(false); + } + + if(onLoaded != null) + DepartmentIndexPage.feed.OnLoaded += new DepartmentFeed.OnIO(onLoaded); + if(failedWeb != null) + DepartmentIndexPage.feed.OnFailedWeb += new DepartmentFeed.OnFailed(failedWeb); + if(failedFile != null) + DepartmentIndexPage.feed.OnFailedFile += new DepartmentFeed.OnFailed(failedFile); + + DepartmentIndexPage.feed.LoadData(Utilities.GetLoadModus()); + } + /// /// Setup the faculty list. /// diff --git a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentInfoPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentInfoPage.xaml.cs index f9c98b98..d1ce5ab0 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentInfoPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentInfoPage.xaml.cs @@ -8,14 +8,23 @@ namespace CampusAppWP8.Pages.Departments { using System; + using System.Windows; + using System.Collections.Generic; + using System.Collections.ObjectModel; using System.Windows.Navigation; using Microsoft.Phone.Controls; + using CampusAppWP8.Resources; + using CampusAppWPortalLib8.Model.Departments; /// /// Info page of a chair. /// public partial class DepartmentInfoPage : PhoneApplicationPage { + private bool feedLoadedFlag = false; + + private string chairName = string.Empty; + #region Constructor /// @@ -41,15 +50,32 @@ namespace CampusAppWP8.Pages.Departments { base.OnNavigatedTo(e); - string url = string.Empty; - string chairName = string.Empty; + this.feedLoadedFlag = false; - if (NavigationContext.QueryString.TryGetValue("url", out url) - && NavigationContext.QueryString.TryGetValue("name", out chairName)) + string url = string.Empty; + + if(NavigationContext.QueryString.TryGetValue(Constants.ParamName, out this.chairName)) + { + this.PageHeadline.Text = this.chairName; + } + + if (NavigationContext.QueryString.TryGetValue(Constants.ParamUrl, out url)) { - this.PageHeadline.Text = chairName; this.WebBrowser.Navigate(new Uri(url, UriKind.Absolute)); } + else + { + CampusAppWP8.Feed.Departments.DepartmentFeed temp = DepartmentIndexPage.Feed; + + if (temp != null) + { + this.OnFeedReady(); + } + else + { + DepartmentIndexPage.InitFeed(this.OnFeedReady); + } + } } #endregion @@ -64,6 +90,53 @@ namespace CampusAppWP8.Pages.Departments private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e) { } + + /// + /// On feed ready. + /// + private void OnFeedReady() + { + if (this.feedLoadedFlag == false) + { + this.feedLoadedFlag = true; + DepartmentIndexPage.Feed.OnLoaded -= this.OnFeedReady; + + ChairModel chair = null; + ObservableCollection tempModelList = DepartmentIndexPage.GetFeed().Model.Faculties; + + foreach (CampusAppWPortalLib8.Model.Departments.FacultyModel model in tempModelList) + { + if (chair == null) + { + chair = model.GetChairModel(this.chairName); + } + } + + if (chair != null) + { + this.WebBrowser.Navigate(new Uri(chair.Url, UriKind.Absolute)); + } + else + { + MessageBoxResult res = MessageBox.Show(AppResources.DepartmentNotFound + " " + AppResources.DepartmentForwarding, string.Empty, MessageBoxButton.OKCancel); + + switch (res) + { + case MessageBoxResult.OK: + { + NavigationService.Navigate(new Uri(Constants.PathDepartment_DepartmentIndexPage, UriKind.Relative)); + } + break; + case MessageBoxResult.Cancel: + { + NavigationService.GoBack(); + } + break; + } + } + } + } + #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentPage.xaml.cs index 1dd9291d..e4e34bbb 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Departments/DepartmentPage.xaml.cs @@ -205,7 +205,7 @@ namespace CampusAppWP8.Pages.Departments FrameworkElement infoBtn = sender as FrameworkElement; string chairName = ((this.lastClickedBtn as Button).Content as TextBlock).Text.ToString(); - NavigationService.Navigate(new Uri(Constants.PathDepartment_DepartmentInfoPage + "?url=" + infoBtn.Tag.ToString() + "&name=" + chairName, UriKind.Relative)); + NavigationService.Navigate(new Uri(Constants.PathDepartment_DepartmentInfoPage + "?" + Constants.ParamUrl + "=" + infoBtn.Tag.ToString() + "&" + Constants.ParamName + "=" + chairName, UriKind.Relative)); } #endregion diff --git a/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml index 0aac8c25..059d98f6 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml @@ -7,6 +7,7 @@ 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" + xmlns:header="clr-namespace:CampusAppWP8.Utility.Lui.Header" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" @@ -23,10 +24,13 @@ + + @@ -39,7 +43,15 @@ - + + + + + + + + + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs index 73f8b349..b9ec7697 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Events/EventIndexPage.xaml.cs @@ -125,6 +125,26 @@ namespace CampusAppWP8.Pages.Events base.OnNavigatedFrom(e); } + /// + /// Methods overrides the OnOrientationChanged-Method. + /// + /// orientation changed event args. + protected override void OnOrientationChanged(OrientationChangedEventArgs e) + { + if (e.Orientation == PageOrientation.Landscape + || e.Orientation == PageOrientation.LandscapeLeft + || e.Orientation == PageOrientation.LandscapeRight) + { + ApplicationBar.Mode = ApplicationBarMode.Default; + } + else + { + ApplicationBar.Mode = ApplicationBarMode.Minimized; + } + + base.OnOrientationChanged(e); + } + #endregion #region private diff --git a/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml index fbc0b384..b8d10f80 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml @@ -34,13 +34,13 @@ - + - + - + diff --git a/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml.cs index c2b20c99..e13fbe5c 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Events/EventPage.xaml.cs @@ -21,7 +21,7 @@ namespace CampusAppWP8.Pages.Events using CampusAppWPortalLib8.Model.RSS; /// - /// EventPage, where every event fees has his own PivotItem. + /// EventPage, where every event feed has his own PivotItem. /// public partial class EventPage : PhoneApplicationPage { diff --git a/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml index c2efe61e..dad5a881 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml @@ -43,7 +43,15 @@ - + + + + + + + + + diff --git a/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs index 69814293..06b0ca9a 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/News/NewsIndexPage.xaml.cs @@ -125,6 +125,26 @@ namespace CampusAppWP8.Pages.News #region private + /// + /// Methods overrides the OnOrientationChanged-Method. + /// + /// orientation changed event args. + protected override void OnOrientationChanged(OrientationChangedEventArgs e) + { + if (e.Orientation == PageOrientation.LandscapeRight + || e.Orientation == PageOrientation.LandscapeLeft + || e.Orientation == PageOrientation.Landscape) + { + ApplicationBar.Mode = ApplicationBarMode.Default; + } + else + { + ApplicationBar.Mode = ApplicationBarMode.Minimized; + } + + base.OnOrientationChanged(e); + } + /// /// Is called after the RSS feeds are loaded into the newsFeed model. /// If there was no feed information set to the UI, the feed list diff --git a/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml index 85e6faf4..281eaf5d 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml @@ -33,13 +33,13 @@ - + - + - + diff --git a/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml.cs index 1c5556d2..b0242c94 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/News/NewsPage.xaml.cs @@ -150,6 +150,24 @@ namespace CampusAppWP8.Pages.News } } + /* + protected override void OnOrientationChanged(OrientationChangedEventArgs e) + { + if (e.Orientation == PageOrientation.Landscape + || e.Orientation == PageOrientation.LandscapeLeft + || e.Orientation == PageOrientation.LandscapeRight) + { + ApplicationBar.Mode = ApplicationBarMode.Default; + } + else + { + ApplicationBar.Mode = ApplicationBarMode.Minimized; + } + + base.OnOrientationChanged(e); + } + */ + /// /// Called when the index of the selected PivotItem is changed. /// Set the text Grid to visible and the WebBrowser to collapsed. diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index 895d0ace..7a1d96d7 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs @@ -195,6 +195,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Möchten Sie Weiter zur Lehstuhlübersicht? ähnelt. + /// + public static string DepartmentForwarding { + get { + return ResourceManager.GetString("DepartmentForwarding", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Der angegebene Lehrstuhl konnte nicht gefunden werden. ähnelt. + /// + public static string DepartmentNotFound { + get { + return ResourceManager.GetString("DepartmentNotFound", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Events ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx index 6a10e787..fa4d1fbc 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -439,5 +439,10 @@ Die Mensa ist heute geschlossen + + Möchten Sie Weiter zur Lehstuhlübersicht? + + + Der angegebene Lehrstuhl konnte nicht gefunden werden. \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 241f3e53..1f01edf8 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -555,4 +555,7 @@ 3 + + name + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs index e07539c5..31810529 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants1.Designer.cs @@ -672,6 +672,15 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die name ähnelt. + /// + public static string ParamName { + get { + return ResourceManager.GetString("ParamName", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Uebersicht ähnelt. /// diff --git a/CampusAppWP8/CampusAppWPortalLib8/Model/RSS/RSSModel.cs b/CampusAppWP8/CampusAppWPortalLib8/Model/RSS/RSSModel.cs index 22f79ca1..32b6afb7 100644 --- a/CampusAppWP8/CampusAppWPortalLib8/Model/RSS/RSSModel.cs +++ b/CampusAppWP8/CampusAppWPortalLib8/Model/RSS/RSSModel.cs @@ -135,6 +135,18 @@ namespace CampusAppWPortalLib8.Model.RSS } } + /// + /// Gets the date of the timestamp as string. + /// example: 25.06. + /// + public string ShortDate + { + get + { + return string.Format("{0:dd.MM.}", this.timestamp); + } + } + /// /// Gets the time of the timestamp as string. /// example: 12:56. diff --git a/CampusAppWP8/IconCreator/IconCreator.pyproj b/CampusAppWP8/IconCreator/IconCreator.pyproj index c25a7b01..3cb39346 100644 --- a/CampusAppWP8/IconCreator/IconCreator.pyproj +++ b/CampusAppWP8/IconCreator/IconCreator.pyproj @@ -179,6 +179,7 @@ +