LecturePage.xaml.cs CampusAppWP8::Pages::Lecture::LecturePage CampusAppWP8::Pages::Lecture //----------------------------------------------------------------------- //<copyrightfile="LecturePage.xaml.cs"company="BTU/IIT"> //Companycopyrighttag. //</copyright> //<author>stubbfel</author> //<sience>13.06.2013</sience> //---------------------------------------------------------------------- namespaceCampusAppWP8.Pages.Lecture { usingSystem; usingSystem.Collections.Generic; usingSystem.Windows; usingSystem.Windows.Navigation; usingCampusAppWP8.Feed.Lecture; usingCampusAppWP8.Model.Lecture; usingCampusAppWP8.Model.Utility; usingCampusAppWP8.Resources; usingCampusAppWP8.Utility.Lui.MessageBoxes; usingMicrosoft.Phone.Controls; publicpartialclassLecturePage:PhoneApplicationPage { #regionMember privateLectureApiapi; privateLecturePageModelpageModel; privateboolinit; #endregion #regionConstructor publicLecturePage() { this.InitializeComponent(); this.init=false; this.LoadPageModel(); this.SetupListPickers(); this.init=true; } #endregion #regionmethods #regionprotected protectedoverridevoidOnNavigatedFrom(NavigationEventArgse) { if(NavigationMode.Back==e.NavigationMode) { //deleteallmodels App.SaveToIsolatedStorage<LecturePageModel>(Constants.IsolatedStorage_LecturePageModel,null); App.SaveToIsolatedStorage<LectureList>(Constants.IsolatedStorage_LectureModel,null); } else { this.StoreSelectedIndex(); App.SaveToIsolatedStorage<LecturePageModel>(Constants.IsolatedStorage_LecturePageModel,this.pageModel); } base.OnNavigatedFrom(e); } #endregion #regionprivate privatevoidLoadPageModel() { this.pageModel=newLecturePageModel(); this.pageModel.LoadLists(); } privatevoidSetupListPickers() { this.Course.ItemsSource=this.pageModel.CourseList.List; this.Degree.ItemsSource=this.pageModel.DegreeList.List; this.From.ItemsSource=this.pageModel.FromNumberList.List; this.To.ItemsSource=this.pageModel.ToNumberList.List; this.Semester.ItemsSource=this.pageModel.SemesterList.List; //loadvaluesfromlastrequest LecturePageModellastPageModel=App.LoadFromIsolatedStorage<LecturePageModel>(Constants.IsolatedStorage_LecturePageModel); if(lastPageModel!=null) { this.SetLastSelectedIndex(lastPageModel); } this.SetSelectedIndex(); } privatevoidSetLastSelectedIndex(LecturePageModellastPageModel) { this.pageModel.SelectCourseIndex=lastPageModel.SelectCourseIndex; this.pageModel.SelectDegreeIndex=lastPageModel.SelectDegreeIndex; this.pageModel.SelectFromIndex=lastPageModel.SelectFromIndex; this.pageModel.SelectToIndex=lastPageModel.SelectToIndex; this.pageModel.SelectSemesterIndex=lastPageModel.SelectSemesterIndex; } privatevoidSetSelectedIndex() { this.Course.SelectedIndex=this.pageModel.SelectCourseIndex; this.Degree.SelectedIndex=this.pageModel.SelectDegreeIndex; this.Semester.SelectedIndex=this.pageModel.SelectSemesterIndex; this.From.SelectedIndex=this.pageModel.SelectFromIndex; this.To.SelectedIndex=this.pageModel.SelectToIndex; } privatevoidStoreSelectedIndex() { this.pageModel.SelectCourseIndex=this.Course.SelectedIndex; this.pageModel.SelectDegreeIndex=this.Degree.SelectedIndex; this.pageModel.SelectSemesterIndex=this.Semester.SelectedIndex; this.pageModel.SelectFromIndex=this.From.SelectedIndex; this.pageModel.SelectToIndex=this.To.SelectedIndex; } privatevoidSendRequest(objectsender,RoutedEventArgse) { this.api=newLectureApi(); this.api.onLoaded+=newLectureApi.OnLoaded(this.ApiIsReady); this.api.onFailed+=newLectureApi.OnFailed(this.ApiIsFail); this.ProgressBar.Visibility=System.Windows.Visibility.Visible; List<UrlParamModel>parameterList=this.CreateUrlParameter(); this.api.SetUriParams(parameterList); this.api.LoadData(); } privateList<UrlParamModel>CreateUrlParameter() { ListPickerItemModelsemester=(ListPickerItemModel)this.Semester.SelectedItem; ListPickerItemModeldegree=(ListPickerItemModel)this.Degree.SelectedItem; ListPickerItemModelcourse=(ListPickerItemModel)this.Course.SelectedItem; ListPickerItemModelfrom=(ListPickerItemModel)this.From.SelectedItem; ListPickerItemModelto=(ListPickerItemModel)this.To.SelectedItem; List<UrlParamModel>parameterList=newList<UrlParamModel>(); parameterList.Add(newUrlParamModel(Constants.ParamGetLecture_Semester,semester.Value)); parameterList.Add(newUrlParamModel(Constants.ParamGetLecture_Degree,degree.Value)); parameterList.Add(newUrlParamModel(Constants.ParamGetLecture_Course,course.Value)); parameterList.Add(newUrlParamModel(Constants.ParamGetLecture_From,from.Value)); parameterList.Add(newUrlParamModel(Constants.ParamGetLecture_To,to.Value)); returnparameterList; } privatevoidApiIsReady() { App.SaveToIsolatedStorage<LectureList>(Constants.IsolatedStorage_LectureModel,this.api.Model); this.ProgressBar.Visibility=System.Windows.Visibility.Collapsed; Uriurl=newUri(Constants.PathLecture_ResultPage,UriKind.Relative); NavigationService.Navigate(url); } privatevoidDegreeSelectionChanged(objectsender,System.Windows.Controls.SelectionChangedEventArgse) { if(!this.init) { return; } this.pageModel.SelectDegreeIndex=this.Degree.SelectedIndex; this.pageModel.LoadFromNumberList(); this.From.ItemsSource=this.pageModel.FromNumberList.List; } privatevoidFromSelectionChanged(objectsender,System.Windows.Controls.SelectionChangedEventArgse) { if(!this.init) { return; } this.pageModel.SelectDegreeIndex=this.Degree.SelectedIndex; this.pageModel.SelectFromIndex=this.From.SelectedIndex; this.pageModel.LoadToNumberList(); this.To.ItemsSource=this.pageModel.ToNumberList.List; } privatevoidApiIsFail() { MessageBoxResultresult=MessageBoxes.ShowMainModelErrorMessageBox(AppResources.MsgBox_ErrorMainModelLoad); this.ProgressBar.Visibility=Visibility.Collapsed; } #endregion #endregion } }