private void DgrdStudentsRowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { if (sender == dgrdStudents) { ModifiedPersons.Add(e.Row.DataContext as Person); } else if (sender == dgrdTeachers) { ModifiedPersons.Add(e.Row.DataContext as Person); } else if (sender == dgrdCourses) { ModifiedCourses.Add(e.Row.DataContext as UICourse); } }
/// <summary> /// 重置用户密码 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ResetPasswordButtonClick(object sender, RoutedEventArgs e) { Person person = null; for (var vis = sender as Visual; vis != null; vis = VisualTreeHelper.GetParent(vis) as Visual) { if (vis is DataGridRow) { person = ((DataGridRow)vis).DataContext as Person; person.Password = "******"; ModifiedPersons.Add(person); (sender as Button).IsEnabled = false; break; } } }
/// <summary> /// 单击新建条目按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddNewItemButtonClick(object sender, RoutedEventArgs e) { Button btn = sender as Button; if (btn.Tag.Equals("2")) { AddNewCourseDialog dialog = new AddNewCourseDialog(Courses.Max(p => p.Id) + 1, "新增课程"); if (dialog.ShowDialog() == true) { Course course = dialog.Course; if (Courses.Any(p => p.Id == course.Id)) { TaskDialog.ShowError("该ID已存在"); return; } ModifiedCourses.Add(new UICourse(course)); Courses.Add(new UICourse(course)); } } else { bool teacher = btn.Tag.Equals("1"); AddNewPersonDialog dialog = new AddNewPersonDialog(teacher? Students.Max(p => p.Id) + 1:Teachers.Max(p => p.Id) + 1, teacher); if (dialog.ShowDialog() == true) { Person person = dialog.Person; if (Students.Any(p => p.Id == person.Id) || Teachers.Any(p => p.Id == person.Id)) { TaskDialog.ShowError("该ID已存在"); return; } if (btn.Tag.Equals("0")) { Students.Add(person); } else { Teachers.Add(person); } ModifiedPersons.Add(person); } } }
/// <summary> /// 更新学生或教师信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void UpdatePersonsButtonClick(object sender, RoutedEventArgs e) { if (ModifiedPersons.Count + DeletedPersons.Count == 0) { TaskDialog.ShowError("没有修改或删除的人员"); return; } JObject json = await NetHelper.Send(new { Command = Admin_Update_Persons, Modified = ModifiedPersons, Deleted = DeletedPersons }) as JObject; if (json[OK].Value <bool>()) { TaskDialog.Show(json[Message].Value <string>()); ModifiedPersons.Clear(); DeletedPersons.Clear(); } else { TaskDialog.ShowError(json[Message].Value <string>()); } }