From 613ccd6d302e571de48ec947d9284aaf39fe7842 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 10 Sep 2013 13:32:59 +0200 Subject: [PATCH] fitler by tilte and insert noresultmessage box --- .../CampusAppWP8/Model/Lecture/LectureList.cs | 18 ++++++++++++++++++ .../Pages/Lecture/LecturePage.xaml.cs | 9 ++++++++- .../Pages/Lecture/ResultPage.xaml.cs | 19 +++++++++++++++++-- .../Resources/AppResources.Designer.cs | 18 ++++++++++++++++++ .../CampusAppWP8/Resources/AppResources.resx | 6 ++++++ .../Utility/Lui/MessageBoxes/MessageBoxes.cs | 9 +++++++++ 6 files changed, 76 insertions(+), 3 deletions(-) diff --git a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs index 39ede37a..3229b8d0 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs @@ -52,6 +52,24 @@ namespace CampusAppWP8.Model.Lecture return activity; } + /// Filter by course string. + /// Stubbfel, 10.09.2013. + /// Specifies the filter. + public void FilterByCourseTitle(string filter) + { + ObservableCollection filteredCollection = new ObservableCollection(); + filter = filter.Trim().ToLower(); + foreach (LectureActivity activity in this.Activities) + { + activity.CreateCourseString(); + if (activity.Title.ToLower().Contains(filter)) + { + filteredCollection.Add(activity); + } + } + + this.Activities = filteredCollection; + } #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs index 0ed9ee1b..f596f801 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/LecturePage.xaml.cs @@ -9,6 +9,7 @@ namespace CampusAppWP8.Pages.Lecture { using System; using System.Collections.Generic; + using System.Linq; using System.Windows; using System.Windows.Navigation; using CampusAppWP8.Api.Lecture; @@ -17,6 +18,7 @@ namespace CampusAppWP8.Pages.Lecture using CampusAppWP8.Resources; using CampusAppWP8.Utility.Lui.MessageBoxes; using Microsoft.Phone.Controls; + using System.Collections.ObjectModel; /// /// Class for the LecturePage @@ -63,7 +65,7 @@ namespace CampusAppWP8.Pages.Lecture #region methods #region protected - + /// /// Methods overrides the OnNavigatedFrom-Method /// @@ -198,6 +200,11 @@ namespace CampusAppWP8.Pages.Lecture /// private void ApiIsReady() { + string query = this.ActivtyName.Text; + if (!query.Equals(string.Empty)) + { + this.api.Model.FilterByCourseTitle(query); + } App.SaveToIsolatedStorage(Constants.IsolatedStorage_LectureModel, this.api.Model); this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed; Uri url = new Uri(Constants.PathLecture_ResultPage, UriKind.Relative); diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml.cs index f464c0d3..47d94d1f 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml.cs @@ -9,9 +9,11 @@ namespace CampusAppWP8.Pages.Lecture { using System; using System.Linq; + using System.Windows; using System.Windows.Navigation; using CampusAppWP8.Model.Lecture; using CampusAppWP8.Resources; + using CampusAppWP8.Utility.Lui.MessageBoxes; using Microsoft.Phone.Controls; /// @@ -33,6 +35,7 @@ namespace CampusAppWP8.Pages.Lecture /// Arguments of navigation protected override void OnNavigatedTo(NavigationEventArgs e) { + base.OnNavigatedTo(e); LectureList list = App.LoadFromIsolatedStorage(Constants.IsolatedStorage_LectureModel); if (list == null) { @@ -41,8 +44,20 @@ namespace CampusAppWP8.Pages.Lecture return; } - this.ResultList.ItemsSource = list.Activities.OrderByDescending(o => o.Type).ThenBy(o => o.Title).ToList(); - base.OnNavigatedTo(e); + if (list.Activities.Count > 0) + { + + this.ResultList.ItemsSource = list.Activities.OrderByDescending(o => o.Type).ThenBy(o => o.Title).ToList(); + } + else + { + MessageBoxResult result = MessageBoxes.ShowMainModelInfoMessageBox(AppResources.MsgBox_NoResult); + + if (result == MessageBoxResult.OK) + { + NavigationService.GoBack(); + } + } } } } \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs index eb9cd698..8acbfeac 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.Designer.cs @@ -645,6 +645,24 @@ namespace CampusAppWP8.Resources { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die Hinweis ähnelt. + /// + public static string MsgBox_InfoHeader { + get { + return ResourceManager.GetString("MsgBox_InfoHeader", resourceCulture); + } + } + + /// + /// Sucht eine lokalisierte Zeichenfolge, die Es gibt keine Ergebnisse zur gestellten Anfrage ähnelt. + /// + public static string MsgBox_NoResult { + get { + return ResourceManager.GetString("MsgBox_NoResult", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die News ähnelt. /// diff --git a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx index 24bed03d..133f3b14 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/AppResources.resx @@ -446,4 +446,10 @@ Placenews + + Hinweis + + + Es gibt keine Ergebnisse zur gestellten Anfrage + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs b/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs index f444fc12..98b696d5 100644 --- a/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs +++ b/CampusAppWP8/CampusAppWP8/Utility/Lui/MessageBoxes/MessageBoxes.cs @@ -33,5 +33,14 @@ namespace CampusAppWP8.Utility.Lui.MessageBoxes { return MessageBox.Show(text, AppResources.MsgBox_ErrorHeader, MessageBoxButton.OK); } + + /// Shows the main model information message box. + /// Stubbfel, 10.09.2013. + /// custom text for the box. + /// . + public static MessageBoxResult ShowMainModelInfoMessageBox(string text) + { + return MessageBox.Show(text, AppResources.MsgBox_InfoHeader, MessageBoxButton.OK); + } } }