// 修改课程 private void btnFix_Click(object sender, RoutedEventArgs e) { ListBoxItem item = (ListBoxItem)this.listBoxCourses.SelectedItem; if (item == null) { MessageBox.Show("您还没有选择要操作的课程!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); return; } Windows.NewCourseWindow newCourseWindow = new NewCourseWindow(); newCourseWindow.CourseName = item.Content.ToString(); newCourseWindow.Title = "修改课程"; if (newCourseWindow.ShowDialog() == true) { Codes.Course course = dc.Course.First(t => t.ID == (Guid)item.Tag); course.CourseName = newCourseWindow.CourseName; // 保存修改记录 Codes.ChangeSet cs = new Codes.ChangeSet() { TableName = "Course", GuidID = (Guid)item.Tag, Type = 0 }; dc.ChangeSet.InsertOnSubmit(cs); dc.SubmitChanges(); loadCourses(); } }
// 新建课程 private void btnNew_Click(object sender, RoutedEventArgs e) { Windows.NewCourseWindow newCourseWindow = new NewCourseWindow(); newCourseWindow.Title = "新建课程"; if (newCourseWindow.ShowDialog() == true) { Codes.Course course = new Codes.Course() { ID = Guid.NewGuid(), CourseName = newCourseWindow.CourseName }; dc.Course.InsertOnSubmit(course); dc.SubmitChanges(); loadCourses(); } }
/// <summary> /// 提交本地的数据更改 /// </summary> private void submitChanges() { foreach (Codes.ChangeSet cs in dc.ChangeSet.ToList()) { // 对数据表的操作类型:0更改,1删除 short type = cs.Type; if (cs.TableName == "Settings") { if (type == 0) { Codes.Settings s = dc.Settings.FirstOrDefault(t => t.Tag == "RollCall"); service.updateClassInfo((int)s.ClassID, s.Admin, s.Password, s.Phone); } } if (cs.TableName == "Student") { if (type == 0) { Codes.Student student = dc.Student.FirstOrDefault(t => t.No == cs.IntID); if (student != null) { service.updateStudent((int)cs.IntID, student.Name); } } else { service.deleteStudent((int)cs.IntID); } } if (cs.TableName == "Course") { if (type == 0) { Codes.Course course = dc.Course.FirstOrDefault(t => t.ID == cs.GuidID); if (course != null) { service.updateCourse(cs.GuidID, course.CourseName); } } else { service.deleteCourse(cs.GuidID); } } if (cs.TableName == "Record") { if (type == 0) { Codes.Record record = dc.Record.FirstOrDefault(t => t.ID == cs.GuidID); if (record != null) { service.updateRecord(cs.GuidID, record.Contents, record.Remark); } } } if (cs.TableName == "RecordIndex") { if (type == 1) { service.deleteRecordIndex(cs.GuidID); } } // 删除无用的变更记录 dc.ChangeSet.DeleteOnSubmit(cs); } dc.SubmitChanges(); }