void WriteUpdateLog(TeacherExtVO oRecord, TeacherExtVO nRecord) { StringBuilder sb = new StringBuilder(); TeacherRecord teacher = Teacher.SelectByID(PrimaryKey); sb.Append("教師「" + teacher.Name + "」,暱稱「" + teacher.Nickname + "」"); sb.AppendLine("被修改一筆「教師基本資料」。"); sb.AppendLine("詳細資料:"); if (!oRecord.WebSiteUrl.Equals(nRecord.WebSiteUrl)) sb.Append("個人網址由「" + oRecord.WebSiteUrl + "」改為「" + nRecord.WebSiteUrl + "」\n"); if (!oRecord.Birthday.Equals(nRecord.Birthday)) sb.Append("生日由「" + oRecord.Birthday + "」改為「" + nRecord.Birthday + "」\n"); if (!oRecord.Address.Equals(nRecord.Address)) sb.Append("戶籍地籍由「" + oRecord.Address + "」改為「" + nRecord.Address + "」\n"); if (!oRecord.Mobil.Equals(nRecord.Mobil)) sb.Append("手機由「" + oRecord.Mobil + "」改為「" + nRecord.Mobil + "」\n"); if (!oRecord.OtherPhone.Equals(nRecord.OtherPhone)) sb.Append("研究室電話由「" + oRecord.OtherPhone + "」改為「" + nRecord.OtherPhone + "」\n"); if (!oRecord.Phone.Equals(nRecord.Phone)) sb.Append("電話由「" + oRecord.Phone + "」改為「" + nRecord.Phone + "」\n"); if (!oRecord.MajorWorkPlace.Equals(nRecord.MajorWorkPlace)) sb.Append("所屬單位由「" + oRecord.MajorWorkPlace + "」改為「" + nRecord.MajorWorkPlace + "」\n"); if (!oRecord.Memo.Equals(nRecord.Memo)) sb.Append("備註由「" + oRecord.Memo + "」改為「" + nRecord.Memo + "」\n"); if (!oRecord.NtuSystemNo.Equals(nRecord.NtuSystemNo)) sb.Append("教師編號由「" + oRecord.NtuSystemNo + "」改為「" + nRecord.NtuSystemNo + "」\n"); if (!oRecord.EmployeeNo.Equals(nRecord.EmployeeNo)) sb.Append("人事編號由「" + oRecord.EmployeeNo + "」改為「" + nRecord.EmployeeNo + "」\n"); if (!oRecord.EnglishName.Equals(nRecord.EnglishName)) sb.Append("英文姓名由「" + oRecord.EnglishName + "」改為「" + nRecord.EnglishName + "」\n"); if (!oRecord.Research.Equals(nRecord.Research)) sb.Append("研究室由「" + oRecord.Research + "」改為「" + nRecord.Research + "」\n"); ApplicationLog.Log("基本資料.修改", "修改", "teacher", PrimaryKey, sb.ToString()); }
protected override void OnSaveButtonClick(EventArgs e) { // 1、先 Clone 原始資料,便於記錄 Log TeacherExtVO originalTeacherExtVO; int teacherID = int.Parse(PrimaryKey); if (_dicUTDs.ContainsKey(teacherID)) { originalTeacherExtVO = _dicUTDs[teacherID]; _dicUTDs[teacherID] = originalTeacherExtVO.Clone(); } else originalTeacherExtVO = new TeacherExtVO(); // 2、回填修改資料 originalTeacherExtVO.WebSiteUrl = this.txtWebSiteUrl.Text; ErrorProvider1.Clear(); DateTime birthday = DateTime.Now; if (!string.IsNullOrWhiteSpace(this.txtBirthday.Text)) { if (!DateTime.TryParse(this.txtBirthday.Text.Trim(), out birthday)) { ErrorProvider1.SetError(this.txtBirthday, "格式錯誤,範例:1970/8/24"); return; } else ErrorProvider1.SetError(this.txtBirthday, ""); } originalTeacherExtVO.Birthday = string.IsNullOrWhiteSpace(this.txtBirthday.Text) ? string.Empty : birthday.ToShortDateString(); originalTeacherExtVO.Address = this.txtAddress.Text; originalTeacherExtVO.Mobil = this.txtMobil.Text; originalTeacherExtVO.OtherPhone = this.txtOtherPhone.Text; originalTeacherExtVO.Phone = this.txtPhone.Text; originalTeacherExtVO.MajorWorkPlace = this.txtMajorWorkPlace.Text; originalTeacherExtVO.Memo = this.txtMemo.Text; originalTeacherExtVO.EmployeeNo = this.txtEmployeeNo.Text; originalTeacherExtVO.NtuSystemNo = this.txtNtuSystemNo.Text; originalTeacherExtVO.EnglishName = this.txtEnglishName.Text; originalTeacherExtVO.Research = this.txtResearch.Text; originalTeacherExtVO.TeacherID = int.Parse(PrimaryKey); // 3、存檔 List<TeacherExtVO> updateRecords = new List<TeacherExtVO>(); updateRecords.Add(originalTeacherExtVO); List<string> updatedRecordIDs = updateRecords.SaveAll(); // 4、記錄 Log List<TeacherExtVO> updatedRecords = Access.Select<TeacherExtVO>(string.Format("ref_teacher_id={0}", PrimaryKey)); if (updatedRecords != null && updatedRecords.Count > 0) { if (_dicUTDs.ContainsKey(teacherID)) WriteUpdateLog(_dicUTDs[teacherID], originalTeacherExtVO); else WriteAddLog(originalTeacherExtVO); } DataBindToForm(updatedRecords); SaveButtonVisible = false; CancelButtonVisible = false; }
void WriteAddLog(TeacherExtVO nRecord) { StringBuilder sb = new StringBuilder(); TeacherRecord teacher = Teacher.SelectByID(PrimaryKey); sb.Append("教師「" + teacher.Name + "」,暱稱「" + teacher.Nickname + "」"); sb.AppendLine("被新增一筆「教師基本資料」。"); sb.AppendLine("詳細資料:"); sb.Append("個人網址「" + nRecord.WebSiteUrl + "」\n"); sb.Append("生日「" + nRecord.Birthday + "」\n"); sb.Append("戶籍地籍「" + nRecord.Address + "」\n"); sb.Append("手機「" + nRecord.Mobil + "」\n"); sb.Append("研究室電話「" + nRecord.OtherPhone + "」\n"); sb.Append("電話「" + nRecord.Phone + "」\n"); sb.Append("所屬單位「" + nRecord.MajorWorkPlace + "」\n"); sb.Append("備註「" + nRecord.Memo + "」\n"); sb.Append("教師編號「" + nRecord.NtuSystemNo + "」\n"); sb.Append("人事編號「" + nRecord.EmployeeNo + "」\n"); sb.Append("英文姓名「" + nRecord.EnglishName + "」\n"); sb.Append("研究室「" + nRecord.Research + "」\n"); ApplicationLog.Log("基本資料.新增", "新增", "teacher", PrimaryKey, sb.ToString()); }