private async void Submit_Click(object sender, RoutedEventArgs e) { var userProfile = new { nickname = NicknameInput.Text, email = EmailInput.Text, phone = PhoneInput.Text, homepage = HomepageInput.Text, }; string invalidKey = CheckInput(JObject.FromObject(userProfile)); if (invalidKey != null) { await ShowMessage($"{ProfileNames[invalidKey]}的值不能为空"); return; } try { await Model.MatrixRequest.ChangeProfile( userProfile.nickname, userProfile.email, userProfile.phone, userProfile.homepage ); } catch (MatrixException.MatrixException err) { Debug.WriteLine($"更改用户信息失败, {err.Message}"); OnContentError?.Invoke(this, new NavigationViewContentEvent(err)); } }
private async void SubmitAssignment(object sender, RoutedEventArgs e) { try { await viewModel.Assignment.SubmitProgramming(); } catch (MatrixException.MatrixException err) { OnContentError?.Invoke(this, new NavigationViewContentEvent(err)); } }
private async void ReadAll_Click(object sender, RoutedEventArgs e) { try { await Model.MatrixRequest.ReadAllNotifications(); } catch (MatrixException.MatrixException err) { OnContentError?.Invoke(this, new NavigationViewContentEvent(err, $"标记列表状态失败:{err.Message}")); } finally { await Refresh(); } }
public async Task Refresh() { OnContentLoading?.Invoke(this, new NavigationViewContentEvent()); try { viewModel.Notifications = await Model.MatrixRequest.GetNotificationList(); } catch (MatrixException.MatrixException err) { OnContentError?.Invoke(this, new NavigationViewContentEvent(err, $"获取通知列表失败:{err.Message}")); } OnContentLoaded?.Invoke(this, new NavigationViewContentEvent()); }
public async Task Refresh() { OnContentLoading?.Invoke(this, new NavigationViewContentEvent()); try { viewModel.TodoAssignments = await Model.MatrixRequest.GetUnfinishAssignment(); } catch (MatrixException.MatrixException err) { OnContentError?.Invoke(this, new NavigationViewContentEvent(err)); } OnContentLoaded?.Invoke(this, new NavigationViewContentEvent()); }
public async Task Refresh() { OnContentLoading?.Invoke(this, new NavigationViewContentEvent()); try { viewModel.Courses = await Model.MatrixRequest.GetCourseList(); } catch (MatrixException.MatrixException err) { Debug.WriteLine($"获取课程列表失败: {err.Message}"); OnContentError?.Invoke(this, new NavigationViewContentEvent(err)); } OnContentLoaded?.Invoke(this, new NavigationViewContentEvent()); }
private async void Checkbox_Checked(object sender, RoutedEventArgs e) { FrameworkElement elem = sender as FrameworkElement; if (!(elem.DataContext is Model.Notification notification)) { return; } try { await notification.toggleReadState(); } catch (MatrixException.MatrixException err) { OnContentError?.Invoke(this, new NavigationViewContentEvent(err, $"标记列表状态失败:{err.Message}")); } }
public async Task Refresh() { // notify start loading OnContentLoading?.Invoke(this, new NavigationViewContentEvent()); try { viewModel.Libraries = await Model.MatrixRequest.GetLibraryList(); } catch (MatrixException.MatrixException err) { var message = "获取题库列表失败"; Debug.WriteLine($"{message}: {err.Message}"); OnContentError?.Invoke(this, new NavigationViewContentEvent(err, message)); } // notify loaded end OnContentLoaded?.Invoke(this, new NavigationViewContentEvent()); }
// Interface Refresh public async Task Refresh() { // notify loading OnContentLoading?.Invoke(this, new NavigationViewContentEvent()); try { viewModel.curUser = await Model.MatrixRequest.GetProfile(); } catch (MatrixException.MatrixException err) { var message = "获取用户信息失败"; Debug.WriteLine($"{message}, {err.Message}"); OnContentError?.Invoke(this, new NavigationViewContentEvent(err, message)); } // notify loaded OnContentLoaded?.Invoke(this, new NavigationViewContentEvent()); }
public async Task Refresh() { OnContentLoading?.Invoke(this, new NavigationViewContentEvent()); try { viewModel.Course = await Model.MatrixRequest.GetCourse(viewModel.CourseId); viewModel.Assignments = await Model.MatrixRequest.GetAssignmentList(viewModel.CourseId); } catch (MatrixException.MatrixException err) { Debug.WriteLine($"请求课程信息错误:{err.Message}"); OnContentError?.Invoke(this, new NavigationViewContentEvent(err)); } OnContentLoaded?.Invoke(this, new NavigationViewContentEvent()); TitleChanged?.Invoke(this, new NavigationViewContentEvent(GetTitle())); }
public async Task Refresh() { int courseId = viewModel.Assignment.course_id; int caId = viewModel.Assignment.ca_id; // notify loading OnContentLoading?.Invoke(this, new NavigationViewContentEvent()); try { viewModel.Assignment = await Model.MatrixRequest.GetAssignment(courseId, caId); } catch (MatrixException.MatrixException err) { var message = $"获取课程{courseId}作业{caId}详情失败"; Debug.WriteLine($"{message}: {err.Message}"); OnContentError?.Invoke(this, new NavigationViewContentEvent(err, message)); } // notify loaded OnContentLoaded?.Invoke(this, new NavigationViewContentEvent()); // set title since assignment name changed. TitleChanged?.Invoke(this, new NavigationViewContentEvent(viewModel.Assignment.name)); }