/// <summary> /// /// </summary> /// <param name="scheduleModel"></param> /// <param name="token"></param> /// <returns></returns> public static string setTeacherAvailability(Models.ScheduleModel scheduleModel, string token) { try { using (var client = new HttpClient()) { string json; HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://193.10.30.155/corridorAPI/api/Schedule"); httpWebRequest.Method = WebRequestMethods.Http.Post;//GET OR POST httpWebRequest.Accept = "application/json; charset=utf-8"; httpWebRequest.ContentType = "application/json; charset=utf-8"; httpWebRequest.Headers.Add("Authorization", "Bearer " + token); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { json = JsonConvert.SerializeObject(scheduleModel); streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var response = (HttpWebResponse)httpWebRequest.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); System.Windows.MessageBox.Show("Time was set!"); return(responseString); } } catch (Exception e) { System.Windows.MessageBox.Show(e.ToString()); return(null); } }
public async Task GetCurrentSchedule(string name, string username) { string html = string.Empty; try { html = await EduPageViewModel.CoreService.GetCurrentSchedule(EduPageViewModel.HttpService, name, username); } catch (HttpRequestException ex) { Services.NotityService.Notify("获取数据失败"); //GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("获取数据失败", messageToken); } catch (System.Net.WebException) { Services.NotityService.Notify("检查是否连接到校园网"); } catch { Services.NotityService.Notify("遇到意外错误"); //GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("遇到意外错误", messageToken); return; } try { var list = Models.ScheduleModel.GetSchedule(html);//获取课表 var temp = new Models.ScheduleModel { ScheduleItemList = list, ShcoolYear = EduTime.SchoolYear, Term = EduTime.Term }; if (temp.ScheduleItemList.Count <= 0) { Services.NotityService.Notify("没有课程信息"); } Schedule = temp; if (Weeks.Count < EduTime.Week) { SelectedWeekIndex = temp.Weeks.Count - 1; } else { SelectedWeekIndex = EduTime.Week - 1; } SetTime(); SaveSchedule(); } catch (Exception e) { Services.NotityService.Notify("解析数据失败"); //GalaSoft.MvvmLight.Messaging.Messenger.Default.Send("解析数据失败", messageToken); } }
public async Task GetSpecificSchedule(string name, string username, string schoolYear, int term) { string html = string.Empty; try { html = await ViewModels.EduPageViewModel.CoreService.GetSpecificSchedule(EduPageViewModel.HttpService, name, username, schoolYear, term); } catch (HttpRequestException ex) { Services.NotityService.Notify("获取数据失败"); } catch { Services.NotityService.Notify("遇到意外错误"); return; } try { var list = Models.ScheduleModel.GetSchedule(html);//获取课表 var temp = new Models.ScheduleModel { ScheduleItemList = list, ShcoolYear = schoolYear, Term = term }; if (temp.ScheduleItemList.Count <= 0) { Services.NotityService.Notify("没有课程信息"); } Schedule = temp; if (schoolYear == EduTime.SchoolYear && term == EduTime.Term) { if (Weeks.Count < EduTime.Week) { SelectedWeekIndex = temp.Weeks.Count - 1; } else { SelectedWeekIndex = EduTime.Week - 1; } } else { SelectedWeekIndex = 0; } if (temp.ShcoolYear == EduTime.SchoolYear && temp.Term == EduTime.Term) { SaveSchedule(); } } catch { Services.NotityService.Notify("解析数据失败"); } }
public EduSchedulePageViewModel(INavigationService navigationService) { _navigationService = navigationService; _dbService = new Services.DbService(); RefreshCommand = new DelegateCommand(Refresh); ItemClickedCommand = new DelegateCommand <object>(ItemClicked); InitEduTimeList(); Schedule = new Models.ScheduleModel(); }
public void Delete() { if (SelectedIndex != -1) { var subject = Subjects[SelectedIndex]; Subjects.RemoveAt(SelectedIndex); subjects.DeleteSubject(subject); Models.ScheduleModel schedule = Data.ScheduleDAL.GetSchedule(); schedule.DeleteSubjectFromSchedule(subject.Title); Data.ScheduleDAL.StoreSchedule(schedule); } }
// Store provided schedule into json public static void StoreSchedule(Models.ScheduleModel schedule) { Windows.Storage.StorageFile scheduleFile = null; JObject scheduleJson = new JObject(); scheduleJson["MaxHours"] = schedule.MaxHours; for (int j = 0; j < 5; j++) { JArray daySchedule = new JArray(); string day = string.Empty; switch (j) { case 0: day = "Monday"; break; case 1: day = "Tuesday"; break; case 2: day = "Wednesday"; break; case 3: day = "Thursday"; break; case 4: day = "Friday"; break; } for (int i = 0; i < schedule.MaxHours; i++) { JObject subj = new JObject(); subj["Title"] = schedule.Schedule[j][i]; daySchedule.Add(subj); } scheduleJson[day] = daySchedule; } try { var task = Task.Run(async() => { scheduleFile = await Windows.Storage.ApplicationData.Current.RoamingFolder.CreateFileAsync("schedule.json", Windows.Storage.CreationCollisionOption.ReplaceExisting); }); task.Wait(); task = Task.Run(async() => { await Windows.Storage.FileIO.WriteTextAsync(scheduleFile, scheduleJson.ToString()); }); task.Wait(); } catch (Exception ex) { return; } }
// Returns schedule loaded from json public static Models.ScheduleModel GetSchedule() { Models.ScheduleModel schedule = new Models.ScheduleModel(); JObject scheduleJSON; StorageFile scheduleFile = null; string content = string.Empty; try { var task = Task.Run(async() => { scheduleFile = await Windows.Storage.ApplicationData.Current.RoamingFolder.GetFileAsync("schedule.json"); }); task.Wait(); task = Task.Run(async() => { content = await Windows.Storage.FileIO.ReadTextAsync(scheduleFile); }); task.Wait(); scheduleJSON = JObject.Parse(content); } catch (Exception ex) { return(schedule); } schedule.MaxHours = (int)scheduleJSON["MaxHours"]; for (int j = 0; j < 5; j++) { string day = string.Empty; switch (j) { case 0: day = "Monday"; break; case 1: day = "Tuesday"; break; case 2: day = "Wednesday"; break; case 3: day = "Thursday"; break; case 4: day = "Friday"; break; } for (int i = 0; i < schedule.MaxHours; i++) { schedule.Schedule[j].Add((string)(scheduleJSON[day][i]["Title"])); } } return(schedule); }
public ScheduleViewModel() { schedule = Data.ScheduleDAL.GetSchedule(); }
public static void SetSchedule(BindableObject o, Models.ScheduleModel value) { o.SetValue(ScheduleProperty, value); }