Esempio n. 1
0
        // 批量导入学生信息
        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;
                }
            }
        }
Esempio n. 2
0
        // 添加一个学生信息
        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);
                }
            }
        }
Esempio n. 3
0
 /// <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();
 }