// 保存语音配置 private void btnSave1_Click(object sender, RoutedEventArgs e) { int tts; if (this.radioBtnTTS.IsChecked == true) { tts = 1; // 使用TTS } else if (this.radioBtnFile.IsChecked == true) { tts = 2; // 使用File } else { tts = 3; // 禁用语音 } if (dc.Settings.Where(a => a.Tag == "RollCall").Count() != 0) { Codes.Settings settings = dc.Settings.First(); settings.TTS = (short)tts; settings.TtsrAte = (short)this.sliderRate.Value; } else { Codes.Settings settings = new Codes.Settings(); settings.TTS = (short)tts; settings.TtsrAte = (short)this.sliderRate.Value; dc.Settings.InsertOnSubmit(settings); } dc.SubmitChanges(); MessageBox.Show("信息已被成功保存!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); }
private void btnClearData_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("您确定要清空所有数据吗?", "操作提示", MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK) { dc.Record.DeleteAllOnSubmit(dc.Record.ToList()); dc.RecordIndex.DeleteAllOnSubmit(dc.RecordIndex.ToList()); dc.Course.DeleteAllOnSubmit(dc.Course.ToList()); dc.Student.DeleteAllOnSubmit(dc.Student.ToList()); Codes.Settings settings = dc.Settings.First(t => t.Tag == "RollCall"); settings.ClassID = null; settings.ClassName = null; dc.SubmitChanges(); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { this.Title = "点名系统 - " + dc.Settings.First().ClassName + " - 点名负责人:" + dc.Settings.First().Admin; if (IsNew) { loadAsNew(); } else { loadAsOld(); } Codes.Settings settings = dc.Settings.First(t => t.Tag == "RollCall"); this.tts = settings.TTS ?? 3; // TTS的播放速率 this.voice.Rate = settings.TtsrAte ?? 1; }
private void feedbackToAuthor() { // 反馈信息给作者 if (this.author != "") { Codes.Settings s = dc.Settings.FirstOrDefault(t => t.Tag == "RollCall"); service.sendEmail("*****@*****.**", "点名系统——信息反馈", String.Format("{0}的{1}({2})向您反馈如下信息:<br />{3}", s.ClassName, s.Admin, s.Phone, this.author.Replace("\r\n", "<br />"))); MessageBox.Show("您反馈的信息已发送到作者邮箱,谢谢!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("必须输入有效的反馈信息!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Error); } }
/// <summary> /// 上传数据到服务器 /// </summary> private void uploadData() { // 根据班级ID判断,这是第一次上传数据,先上传班级信息 Codes.Settings settings = dc.Settings.First(t => t.Tag == "RollCall"); int classID = settings.ClassID ?? -1; if (service.isClassExist(classID) == false) { classID = service.addClass(settings.ClassName, settings.Admin, settings.Password, settings.Phone); if (classID == -1) { MessageBox.Show("检测到服务器中已存在同名的班级,数据上传被终止!", "错误提示", MessageBoxButton.OK, MessageBoxImage.Error); return; } settings.ClassID = classID; dc.SubmitChanges(); } // 上传学生信息 foreach (Codes.Student student in dc.Student.ToList()) { service.addStudent(student.No, student.Name, classID); } // 上传课程信息 foreach (Codes.Course course in dc.Course.ToList()) { service.addCourse(course.ID, course.CourseName, classID); } // 上传记录索引信息 foreach (Codes.RecordIndex recordIndex in dc.RecordIndex.ToList()) { service.addRecordIndex(recordIndex.ID, recordIndex.Date, recordIndex.CourseID, classID); } // 上传点名记录 foreach (Codes.Record record in dc.Record.ToList()) { service.addRecord(record.ID, record.StudentNo, record.Contents, record.Remark, record.IndexID); } }
// 窗口加载时初始化所有已设置的数据 private void Window_Loaded(object sender, RoutedEventArgs e) { this.progressBar.Visibility = System.Windows.Visibility.Hidden; if (dc.Settings.Where(t => t.Tag == "RollCall").Count() != 0) { Codes.Settings settings = dc.Settings.First(); // 初始化基本信息设置 this.textBoxAdmin.Text = settings.Admin; this.textBoxAdminPhone.Text = settings.Phone; this.textBoxClass.Text = settings.ClassName; this.textBoxServer.Text = settings.ServerPath; this.passwordBox.Password = settings.Password; this.textBoxClass.IsReadOnly = settings.ClassID == null ? false : true; // 初始化语音设置 short tts = settings.TTS ?? 3; switch (tts) { case 1: this.radioBtnTTS.IsChecked = true; break; case 2: this.radioBtnFile.IsChecked = true; break; case 3: this.radioBtnDisable.IsChecked = true; break; default: break; } this.sliderRate.Value = settings.TtsrAte ?? 1; } // 加载课程信息 loadCourses(); this.dataGridStudent.ItemsSource = from i in dc.Student select i; }
// 保存基本信息 private void btnSave_Click(object sender, RoutedEventArgs e) { if (validateInfo()) { // 保存数据的更改 if (dc.Settings.Where(a => a.Tag == "RollCall").Count() != 0) { Codes.Settings settings = dc.Settings.First(); settings.Admin = this.textBoxAdmin.Text; settings.ClassName = this.textBoxClass.Text; settings.Password = this.passwordBox.Password; settings.Phone = this.textBoxAdminPhone.Text; settings.ServerPath = this.textBoxServer.Text; // 保存修改记录 Codes.ChangeSet cs = new Codes.ChangeSet() { TableName = "Settings", Type = 0 }; dc.ChangeSet.InsertOnSubmit(cs); } else { Codes.Settings settings = new Codes.Settings() { Tag = "RollCall", Admin = this.textBoxAdmin.Text, ClassName = this.textBoxClass.Text, Password = this.passwordBox.Password, Phone = this.textBoxAdminPhone.Text, ServerPath = this.textBoxServer.Text }; dc.Settings.InsertOnSubmit(settings); } dc.SubmitChanges(); MessageBox.Show("信息已被成功保存!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); } }
private void feedbackToAdmin() { // 反馈信息给管理员 Regex r = new Regex(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"); Match m = r.Match(this.adminEmail); if (!m.Success) { MessageBox.Show("您输入了错误的邮箱", "错误提示", MessageBoxButton.OK, MessageBoxImage.Error); } else if (this.admin == "") { MessageBox.Show("必须输入有效的反馈信息!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Error); } else { Codes.Settings s = dc.Settings.FirstOrDefault(t => t.Tag == "RollCall"); service.sendEmail(adminEmail, "点名系统——信息反馈", String.Format("{0}的{1}({2})向您反馈如下信息:<br />{3}", s.ClassName, s.Admin, s.Phone, this.admin.Replace("\r\n", "<br />"))); MessageBox.Show("您反馈的信息已发送到指定邮箱,谢谢!", "操作提示", MessageBoxButton.OK, MessageBoxImage.Information); } }
/// <summary> /// 初始化服务接入点 /// </summary> private void initService() { Codes.Settings s = dc.Settings.FirstOrDefault(t => t.Tag == "RollCall"); service.Endpoint.Address = new System.ServiceModel.EndpointAddress(s.ServerPath); //service.Endpoint.ListenUri = new Uri(s.ServerPath); }
/// <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(); }