From 4b41d8b764a9aef0424fa4d811b2ae18d98d4281 Mon Sep 17 00:00:00 2001 From: stubbfel Date: Tue, 11 Jun 2013 13:42:20 +0200 Subject: [PATCH] finish ResultDetailPage --- CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj | 7 ++ .../Model/Lecture/LectureActivity.cs | 97 ++++++++++++++++++- .../Model/Lecture/LectureLecturer.cs | 19 ++++ .../CampusAppWP8/Model/Lecture/LectureList.cs | 12 +++ .../Pages/Lecture/ModulWebPage.xaml | 1 - .../Pages/Lecture/ModulWebPage.xaml.cs | 44 +++++---- .../Pages/Lecture/ResultDetailPage.xaml | 73 ++++++++++++++ .../Pages/Lecture/ResultDetailPage.xaml.cs | 59 +++++++++++ .../Pages/Lecture/ResultPage.xaml | 4 +- .../Pages/Lecture/ResultPage.xaml.cs | 10 +- .../Resources/AppResources.Designer.cs | 9 ++ .../CampusAppWP8/Resources/AppResources.resx | 3 + .../Resources/Constants.Designer.cs | 72 ++++++++++++++ .../CampusAppWP8/Resources/Constants.resx | 24 +++++ 14 files changed, 410 insertions(+), 24 deletions(-) create mode 100644 CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml create mode 100644 CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml.cs diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj index f7fc8dd5..18af7adc 100644 --- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj +++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj @@ -125,6 +125,9 @@ ModulWebPage.xaml + + ResultDetailPage.xaml + ResultPage.xaml @@ -186,6 +189,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureActivity.cs b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureActivity.cs index 8bf99472..3c178b2d 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureActivity.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureActivity.cs @@ -1,4 +1,5 @@ -using System; +using CampusAppWP8.Utility; +using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; @@ -10,6 +11,12 @@ namespace CampusAppWP8.Model.Lecture { public class LectureActivity { + #region + private ObservableCollection lecturer; + private string lecturerString; + private string courseString; + private string topic; + #endregion #region Constructor /// @@ -24,7 +31,10 @@ namespace CampusAppWP8.Model.Lecture #region Proberty [XmlElement("art")] - public string Type{ get; set; } + public string Type { get; set; } + + [XmlAttribute("id")] + public int Id { get; set; } [XmlElement("semester")] public int Semester { get; set; } @@ -36,7 +46,49 @@ namespace CampusAppWP8.Model.Lecture public LectureModul Modul { get; set; } [XmlElement("lehrperson")] - public ObservableCollection Lecturer { get; set; } + public ObservableCollection Lecturer { + get + { + return lecturer; + } + set + { + if (value != lecturer) + { + lecturer = value; + } + } + } + + public string LecturerString { + get + { + return this.lecturerString; + } + set + { + if (value != this.lecturerString) + { + this.lecturerString = value; + } + } + } + + public string CourseString + { + get + { + return this.courseString; + } + set + { + if (value != this.courseString) + { + this.courseString = value; + } + } + } + [XmlElement("studiengang")] public ObservableCollection Course { get; set; } @@ -44,6 +96,45 @@ namespace CampusAppWP8.Model.Lecture [XmlElement("termin")] public ObservableCollection Dates { get; set; } + [XmlElement("zugeordnete_einrichtung")] + public string Department { get; set; } + + [XmlElement("lehrinhalt")] + public string Topic + { + get + { + return topic; + } + set + { + if (value != topic) + { + topic = StringManager.StripHTML(value); + } + } + } + #endregion + + public void createLectureString() + { + string result = string.Empty; + foreach (LectureLecturer tmpLecturer in Lecturer) + { + result += tmpLecturer.ToString() + "\n"; + } + this.LecturerString = result.TrimEnd('\n'); + } + + public void createCourseString() + { + string result = string.Empty; + foreach (LectureCourse course in Course) + { + result += course.Title + "\n"; + } + this.CourseString = result.TrimEnd('\n'); + } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureLecturer.cs b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureLecturer.cs index 04990c7f..c0cc8b42 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureLecturer.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureLecturer.cs @@ -23,5 +23,24 @@ namespace CampusAppWP8.Model.Lecture [XmlAttribute("zustaendigkeit")] public string Responsibility { get; set; } + + public override string ToString() + { + string result = string.Empty; + + if (!Title.Equals(string.Empty)) + { + result += Title + " "; + } + + result += FirstName + " "; + result += LastName + " "; + + if (!Responsibility.Equals(string.Empty)) + { + result += "(" + Responsibility + ") "; + } + return result; + } } } diff --git a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs index 167d9457..6dff6569 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Lecture/LectureList.cs @@ -7,8 +7,11 @@ //---------------------------------------------------------------------- namespace CampusAppWP8.Model.Lecture { + using System.Collections.Generic; using System.Collections.ObjectModel; using System.Xml.Serialization; + using System.Linq; + [XmlRoot("lsf_auszug")] public class LectureList { @@ -32,5 +35,14 @@ namespace CampusAppWP8.Model.Lecture #endregion + #region Methods + + public LectureActivity GetActivity(int id) + { + LectureActivity activity = Activities.Where(p => p.Id == id).First(); + return activity; + } + #endregion + } } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml index f52dd8f2..607d04b8 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml @@ -24,5 +24,4 @@ - \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml.cs index dc55b355..989f0b51 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ModulWebPage.xaml.cs @@ -1,32 +1,42 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Navigation; -using Microsoft.Phone.Controls; -using Microsoft.Phone.Shell; -using System.Threading.Tasks; - +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 11.06.2013 +//---------------------------------------------------------------------- namespace CampusAppWP8.Pages.Lecture { + using System; + using System.Windows.Navigation; + using CampusAppWP8.Resources; + using Microsoft.Phone.Controls; + + /// + /// Class for the page which shows Webpages from the BaseAddress + /// public partial class ModulWebPage : PhoneApplicationPage { + /// + /// Initializes a new instance of the class. + /// public ModulWebPage() { - InitializeComponent(); + this.InitializeComponent(); } + /// + /// Override the OnNavigatedTo method + /// + /// Arguments of navigation protected override void OnNavigatedTo(NavigationEventArgs e) { - - if (NavigationContext.QueryString.ContainsKey("URL")) + if (NavigationContext.QueryString.ContainsKey(Constants.ParamLectureModulNumber)) { - string url = NavigationContext.QueryString["URL"]; - - this.WebmailBrowser.Navigate(new Uri(url, UriKind.Absolute)); + string number = NavigationContext.QueryString[Constants.ParamLectureModulNumber]; + this.WebmailBrowser.Navigate(new Uri(Constants.UrlLectureModulBaseAddr + number, UriKind.Absolute)); } + base.OnNavigatedTo(e); } } diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml new file mode 100644 index 00000000..b504341b --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml.cs b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml.cs new file mode 100644 index 00000000..6a404776 --- /dev/null +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultDetailPage.xaml.cs @@ -0,0 +1,59 @@ +//----------------------------------------------------------------------- +// +// Company copyright tag. +// +// stubbfel +// 11.06.2013 +//---------------------------------------------------------------------- +namespace CampusAppWP8.Pages.Lecture +{ + using System.Windows.Navigation; + using CampusAppWP8.Model.Lecture; + using CampusAppWP8.Resources; + using Microsoft.Phone.Controls; + + /// + /// Class for the page which shows details of an activity + /// + public partial class ResultDetailPage : PhoneApplicationPage + { + /// + /// Initializes a new instance of the class. + /// + public ResultDetailPage() + { + this.InitializeComponent(); + } + + /// + /// Override the OnNavigatedTo method + /// + /// Arguments of navigation + protected override void OnNavigatedTo(NavigationEventArgs e) + { + if (NavigationContext.QueryString.ContainsKey(Constants.ParamLectureActivityId)) + { + string activityId = NavigationContext.QueryString[Constants.ParamLectureActivityId]; + this.LoadActivity(int.Parse(activityId)); + } + + base.OnNavigatedTo(e); + } + + /// + /// Method load a certain Activity from the model + /// + /// id of the activity + private void LoadActivity(int activityId) + { + LectureList list = App.LoadFromIsolatedStorage(Constants.IsolatedStorageLectureModel); + if (list != null) + { + LectureActivity activity = list.GetActivity(activityId); + activity.createLectureString(); + activity.createCourseString(); + this.ContentPanel.DataContext = activity; + } + } + } +} \ No newline at end of file diff --git a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml index f75742c6..a836dfba 100644 --- a/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml +++ b/CampusAppWP8/CampusAppWP8/Pages/Lecture/ResultPage.xaml @@ -32,8 +32,8 @@ -