// 批量导入学生信息 private void btnImport_Click(object sender, RoutedEventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Title = "导入CSV文件"; fileDialog.Filter = "CSV文件|*.csv"; if (fileDialog.ShowDialog() == true) { List <Codes.Student> students = new List <Codes.Student>(); // 分析数据 string[] infos = System.IO.File.ReadAllLines(fileDialog.FileName, Encoding.Default); int count = 0, valid = 0; for (int i = 0; i < infos.Length; i++) { if (infos[i].Contains(",")) { string[] temp = infos[i].Split(','); if (Codes.GlobalMethod.isNum(temp[0])) { int no = Convert.ToInt32(temp[0]); if (dc.Student.Where(t => t.No == no).Count() == 0) { Codes.Student student = new Codes.Student() { No = no, Name = temp[1] }; students.Add(student); count++; } valid++; } } } // 导入时的分析 if (valid == 0) { MessageBox.Show("没有检测到有效信息,文件格式错误,请以(学号,姓名)的形式导入!", "错误提示", MessageBoxButton.OK, MessageBoxImage.Error); } else if (count == 0) { MessageBox.Show("这些信息已被添加过,不允许重复添加!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); } else if (MessageBox.Show("检测到文件中包含" + count + "条有效信息,是否导入这些信息!", "操作提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { dc.Student.InsertAllOnSubmit(students); dc.SubmitChanges(); this.dataGridStudent.ItemsSource = from i in dc.Student select i; } } }
// 添加一个学生信息 private void btnAddStudent_Click(object sender, RoutedEventArgs e) { NewStudentWindow student = new NewStudentWindow(); if (student.ShowDialog() == true) { int no = Convert.ToInt32(student.No); if (dc.Student.Where(t => t.No == no).Count() == 0) { Codes.Student s = new Codes.Student() { No = no, Name = student.StudentName }; dc.Student.InsertOnSubmit(s); dc.SubmitChanges(); // 更新控件的数据 this.dataGridStudent.ItemsSource = from i in dc.Student select i; } else { MessageBox.Show("此学号为:" + student.No + "的同学已经存在!", "错误提示", MessageBoxButton.OK, MessageBoxImage.Error); } } }
/// <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(); }