diff --git a/CampusAppWP8/CampusAppWP8/App.xaml.cs b/CampusAppWP8/CampusAppWP8/App.xaml.cs index 55788b88..9d7a8955 100644 --- a/CampusAppWP8/CampusAppWP8/App.xaml.cs +++ b/CampusAppWP8/CampusAppWP8/App.xaml.cs @@ -1,12 +1,15 @@ -using CampusAppWP8.Resources; -using Microsoft.Phone.Controls; -using Microsoft.Phone.Shell; -using System; +using System; using System.Diagnostics; -using System.IO.IsolatedStorage; +using System.Resources; using System.Windows; using System.Windows.Markup; using System.Windows.Navigation; +using Microsoft.Phone.Controls; +using Microsoft.Phone.Shell; +using CampusAppWP8.Resources; +using System.IO.IsolatedStorage; +using CampusAppWP8.File.Setting; +using CampusAppWP8.Model.Setting; namespace CampusAppWP8 @@ -128,13 +131,36 @@ namespace CampusAppWP8 // Dieser Code wird beim Reaktivieren der Anwendung nicht ausgeführt private void Application_Launching(object sender, LaunchingEventArgs e) { + this.LoadSettings(); + } + + private void LoadSettings() + { + UserProfilFile userFile; + userFile = Settings.UserProfil; + if (userFile.Model == null) + { + userFile.onLoaded += new UserProfilFile.OnLoaded(this.UserSettingsLoaded); + userFile.LoadData(); + } + else + { + this.UserSettingsLoaded(); + } + } + private void UserSettingsLoaded() + { + if (Settings.UserProfil.Model == null) + { + Settings.UserProfil.Model = new UserProfilModel(); + } } // Code, der ausgeführt werden soll, wenn die Anwendung aktiviert wird (in den Vordergrund gebracht wird) // Dieser Code wird beim ersten Starten der Anwendung nicht ausgeführt private void Application_Activated(object sender, ActivatedEventArgs e) { - + this.LoadSettings(); } // Code, der ausgeführt werden soll, wenn die Anwendung deaktiviert wird (in den Hintergrund gebracht wird) diff --git a/CampusAppWP8/CampusAppWP8/Model/Lecture/LecturePageModel.cs b/CampusAppWP8/CampusAppWP8/Model/Lecture/LecturePageModel.cs index cca12fe5..748d039e 100644 --- a/CampusAppWP8/CampusAppWP8/Model/Lecture/LecturePageModel.cs +++ b/CampusAppWP8/CampusAppWP8/Model/Lecture/LecturePageModel.cs @@ -7,11 +7,9 @@ //---------------------------------------------------------------------- namespace CampusAppWP8.Model.Lecture { - using System.Collections.Generic; - using System.Linq; using System.Runtime.Serialization; + using CampusAppWP8.Model.Setting; using CampusAppWP8.Model.Utility; - using CampusAppWP8.Resources; /// /// Model for the LecturePage @@ -57,27 +55,27 @@ namespace CampusAppWP8.Model.Lecture /// /// need to be extend to full list /// - private List courseList; + private ListPickerItemListModel courseList; /// /// List of the degrees /// - private List degreeList; + private ListPickerItemListModel degreeList; /// /// List of the semester /// - private List semesterList; + private ListPickerItemListModel semesterList; /// /// List for the number of semester (from) /// - private List fromNumberList; + private ListPickerItemListModel fromNumberList; /// /// List for the number of semester (to) /// - private List toNumberList; + private ListPickerItemListModel toNumberList; #endregion @@ -88,6 +86,9 @@ namespace CampusAppWP8.Model.Lecture /// public LecturePageModel() { + this.courseList = new CourseListPickerItemListModel(); + this.degreeList = new DegreeListPickerItemListModel(); + this.semesterList = new SemesterListPickerItemListModel(); } #endregion @@ -105,7 +106,7 @@ namespace CampusAppWP8.Model.Lecture set { - if (value != this.selectCourseIndex && this.courseList != null && value < this.courseList.Count) + if (value != this.selectCourseIndex && this.courseList != null && value < this.courseList.List.Count) { this.selectCourseIndex = value; } @@ -124,7 +125,7 @@ namespace CampusAppWP8.Model.Lecture set { - if (value != this.selectDegreeIndex && this.degreeList != null && value < this.degreeList.Count) + if (value != this.selectDegreeIndex && this.degreeList != null && value < this.degreeList.List.Count) { this.selectDegreeIndex = value; } @@ -143,7 +144,7 @@ namespace CampusAppWP8.Model.Lecture set { - if (value != this.selectSemesterIndex && this.semesterList != null && value < this.semesterList.Count) + if (value != this.selectSemesterIndex && this.semesterList != null && value < this.semesterList.List.Count) { this.selectSemesterIndex = value; } @@ -162,7 +163,7 @@ namespace CampusAppWP8.Model.Lecture set { - if (value != this.selectFromIndex && this.fromNumberList != null && value < this.fromNumberList.Count) + if (value != this.selectFromIndex && this.fromNumberList != null && value < this.fromNumberList.List.Count) { this.selectFromIndex = value; } @@ -181,7 +182,7 @@ namespace CampusAppWP8.Model.Lecture set { - if (value != this.selectToIndex && this.toNumberList != null && value < this.toNumberList.Count) + if (value != this.selectToIndex && this.toNumberList != null && value < this.toNumberList.List.Count) { this.selectToIndex = value; } @@ -191,7 +192,7 @@ namespace CampusAppWP8.Model.Lecture /// /// Gets List for the courses of the BTU /// - public List CourseList + public ListPickerItemListModel CourseList { get { @@ -202,7 +203,7 @@ namespace CampusAppWP8.Model.Lecture /// /// Gets List of the degrees /// - public List DegreeList + public ListPickerItemListModel DegreeList { get { @@ -213,7 +214,7 @@ namespace CampusAppWP8.Model.Lecture /// /// Gets List of the semester /// - public List SemesterList + public ListPickerItemListModel SemesterList { get { @@ -224,7 +225,7 @@ namespace CampusAppWP8.Model.Lecture /// /// Gets List for the number of semester /// - public List FromNumberList + public ListPickerItemListModel FromNumberList { get { @@ -235,7 +236,7 @@ namespace CampusAppWP8.Model.Lecture /// /// Gets the NumberList /// - public List ToNumberList + public ListPickerItemListModel ToNumberList { get { @@ -253,11 +254,12 @@ namespace CampusAppWP8.Model.Lecture /// public void LoadLists() { - this.LoadCourseList(); - this.LoadDegreeList(); this.LoadFromNumberList(); this.LoadToNumberList(); - this.LoadSemesterList(); + UserProfilModel userModel = Settings.UserProfil.Model; + this.selectCourseIndex = this.courseList.GetIndexOrDefault(((int)userModel.Course).ToString().PadLeft(3, '0')); + this.selectDegreeIndex = this.degreeList.GetIndexOrDefault(((int)userModel.Degree).ToString()); + this.selectSemesterIndex = this.semesterList.GetIndexOrDefault(((int)userModel.Semester).ToString()); } #endregion @@ -270,13 +272,13 @@ namespace CampusAppWP8.Model.Lecture public void LoadFromNumberList() { string selectValue = null; - if (this.fromNumberList != null) + if (this.fromNumberList != null && this.fromNumberList.List.Count > 0) { - selectValue = this.fromNumberList[this.SelectFromIndex].Value; + selectValue = this.fromNumberList.List[this.SelectFromIndex].Value; } this.fromNumberList = this.CreateNumberList(1, 10); - this.SelectFromIndex = this.GetIndexOrDefault(this.fromNumberList, selectValue); + this.SelectFromIndex = this.fromNumberList.GetIndexOrDefault(selectValue); } /// @@ -285,13 +287,13 @@ namespace CampusAppWP8.Model.Lecture public void LoadToNumberList() { string selectValue = null; - if (this.toNumberList != null) + if (this.toNumberList != null && this.toNumberList.List.Count > 0) { - selectValue = this.toNumberList[this.SelectToIndex].Value; + selectValue = this.toNumberList.List[this.SelectToIndex].Value; } this.toNumberList = this.CreateNumberList(this.SelectFromIndex + 1, 10); - this.SelectToIndex = this.GetIndexOrDefault(this.toNumberList, selectValue); + this.SelectToIndex = this.toNumberList.GetIndexOrDefault(selectValue); } /// @@ -300,10 +302,10 @@ namespace CampusAppWP8.Model.Lecture /// startValue of the list /// endValue of the list /// return list - private List CreateNumberList(int startvalue, int endvalue) + private ListPickerItemListModel CreateNumberList(int startvalue, int endvalue) { - List list = new List(); - string degree = this.DegreeList[this.SelectDegreeIndex].Value; + ListPickerItemListModel list = new ListPickerItemListModel(); + string degree = this.DegreeList.List[this.SelectDegreeIndex].Value; for (int i = startvalue; i <= endvalue; i++) { @@ -312,108 +314,11 @@ namespace CampusAppWP8.Model.Lecture break; } - list.Add(new ListPickerItemModel() { Text = i.ToString(), Value = i.ToString() }); + list.AddItem(i.ToString(), i.ToString()); } return list; } - - /// - /// Load the SemesterList - /// - private void LoadSemesterList() - { - this.semesterList = new List(); - this.semesterList.Add(new ListPickerItemModel() { Text = "SoSe 13", Value = "20131" }); - this.semesterList.Add(new ListPickerItemModel() { Text = "WiSe 13/14", Value = "20132" }); - this.semesterList.Add(new ListPickerItemModel() { Text = "SoSe 14", Value = "20131" }); - } - - /// - /// Load the DegreeList - /// - private void LoadDegreeList() - { - this.degreeList = new List(); - this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Bachelor, Value = "82" }); - this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Master, Value = "88" }); - this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Diploma, Value = "11" }); - } - - /// - /// Load the DegreeList - /// - private void LoadCourseList() - { - this.courseList = new List(); - this.courseList.Add(new ListPickerItemModel() { Text = "Architektur", Value = "013" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Bauingenieurwesen", Value = "017" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Betriebswirtschaftslehre", Value = "021" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsrecht für Technologieunternehmen", Value = "042" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Elektrotechnik", Value = "048" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Informatik ", Value = "079" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Maschinenbau", Value = "104" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Mathematik", Value = "105" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Physik ", Value = "128" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsingenieurwesen", Value = "179" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftswissenschaften ", Value = "184" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Biomedizinische Gerätetechnik ", Value = "215" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Verfahrenstechnik", Value = "226" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsmathematik ", Value = "276" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Kultur und Technik ", Value = "711" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Physik der Halbleiter-Technologie", Value = "744" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Angewandte Mathematik ", Value = "749" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Technologie- und Innovationsmanagement", Value = "764" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Stadt- und Regionalplanung", Value = "766" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Informations- und Medientechnik ", Value = "767" }); - this.courseList.Add(new ListPickerItemModel() { Text = "World Heritage Studies", Value = "768" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Umweltingenieurwesen und Verfahrenstechnik", Value = "770" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Environmental and Resource Management", Value = "771" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Landnutzung und Wasserbewirtschaftung", Value = "772" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Bauen und Erhalten", Value = "773" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Umweltingenieurwesen", Value = "774" }); - this.courseList.Add(new ListPickerItemModel() { Text = "eBusiness", Value = "794" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Civil Engineering", Value = "798" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Structural Engineering", Value = "799" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Electrical Power Engineering ", Value = "800" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Euro Hydroinformatics and Water Management", Value = "841" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Technologien Biogener Rohstoffe", Value = "842" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Environmental Technologies", Value = "843" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Process Engineering and Plant Design", Value = "844" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Architekturvermittlung", Value = "845" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Nachwachsende Rohstoffe und Erneuerbare Energien", Value = "851" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Energieträger aus Biomasse und Abfällen", Value = "852" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Power Engineering", Value = "853" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Verfahrenstechnik - Prozess- und Anlagentechnik", Value = "857" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Architektur.Studium.Generale", Value = "858" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Verarbeitungstechnologien der Werkstoffe", Value = "860" }); - this.courseList.Add(new ListPickerItemModel() { Text = "Forensic Sciences and Engineering", Value = "871" }); - this.courseList = this.courseList.OrderBy(o => o.Text).ToList(); - } - - /// - /// Method return a the Index of an item which has a certain value - /// - /// list for items - /// a certain value - /// return index of value or default(0) - private int GetIndexOrDefault(List list, string value) - { - int index = 0; - int i = 0; - foreach (ListPickerItemModel item in list) - { - if (item.Value.Equals(value)) - { - index = i; - break; - } - - i++; - } - - return index; - } #endregion #endregion diff --git a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx index 699b6984..ba9aa34f 100644 --- a/CampusAppWP8/CampusAppWP8/Resources/Constants.resx +++ b/CampusAppWP8/CampusAppWP8/Resources/Constants.resx @@ -284,6 +284,7 @@ IsolatedStorage_OpeninghoursModel + user.xml