public void ExecuteAutoCorrect(IEnumerable <string> EntityIDs)
        {
            List <JHUpdateRecordRecord> AutoCorrectRecords = K12.Data.Utility.Utility.IsNullOrEmpty(EntityIDs) ? CorrectableUpdateRecords : CorrectableUpdateRecords.Where(x => EntityIDs.Contains(x.StudentID)).ToList();

            if (MsgBox.Show("自動修正將依照檢查結果建議值進行修正總共" + AutoCorrectRecords.Count + "筆,強烈建議您務必將檢查結果匯出備份,是否進行自動修正?", "您是否要進行自動修正?", System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
            {
                try
                {
                    StringBuilder strBuilder = new StringBuilder();

                    strBuilder.AppendLine("學號,狀態,學年度,學期,異動日期,入學年月,備註,入學資格-畢業國小名稱,異動班級,異動姓名,異動身分證號,異動地址,異動學號,異動性別,異動生日,核准日期,核准文號,原核准文號");

                    Dictionary <string, StudentRecord> StudentRecordsDic = StudentRecords.ToDictionary(x => x.ID);

                    for (int i = 0; i < AutoCorrectRecords.Count; i++)
                    {
                        string StudentID = AutoCorrectRecords[i].StudentID;

                        List <string> LogValues = new List <string>();

                        LogValues.Add(StudentRecordsDic[StudentID].StudentNumber);
                        LogValues.Add(StudentRecordsDic[StudentID].StatusStr);
                        LogValues.Add(AutoCorrectRecords[i].StudentNumber);
                        LogValues.Add(K12.Data.Int.GetString(AutoCorrectRecords[i].SchoolYear));
                        LogValues.Add(K12.Data.Int.GetString(AutoCorrectRecords[i].Semester));
                        LogValues.Add(AutoCorrectRecords[i].UpdateDate);
                        LogValues.Add(AutoCorrectRecords[i].EnrollmentSchoolYear);
                        LogValues.Add(AutoCorrectRecords[i].Comment);
                        LogValues.Add(AutoCorrectRecords[i].GraduateSchool);
                        LogValues.Add(AutoCorrectRecords[i].OriginClassName);
                        LogValues.Add(AutoCorrectRecords[i].StudentName);
                        LogValues.Add(AutoCorrectRecords[i].IDNumber);
                        LogValues.Add(AutoCorrectRecords[i].OriginAddress);
                        LogValues.Add(AutoCorrectRecords[i].StudentNumber);
                        LogValues.Add(AutoCorrectRecords[i].Gender);
                        LogValues.Add(AutoCorrectRecords[i].Birthdate);
                        LogValues.Add(AutoCorrectRecords[i].ADDate);
                        LogValues.Add(AutoCorrectRecords[i].ADNumber);
                        LogValues.Add(AutoCorrectRecords[i].ADNumber.Replace("字第", ""));

                        strBuilder.AppendLine(string.Join(",", LogValues.ToArray()));
                    }

                    JHUpdateRecord.Update(AutoCorrectRecords);

                    AutoCorrectRecords.ForEach(x => CorrectableUpdateRecords.Remove(x));

                    FISCA.LogAgent.ApplicationLog.Log("資料合理性檢查.學生新生異動核准文號缺少『字號』", "補上『字號』值並更新異動記錄", strBuilder.ToString());

                    MsgBox.Show("已自動修正完成!");
                }
                catch (Exception e)
                {
                    SmartSchool.ErrorReporting.ReportingService.ReportException(e);

                    MsgBox.Show(e.Message);
                }
            }
        }
        private void Update(object item)
        {
            try
            {
                List <JHUpdateRecordRecord> UpdatePackage = (List <JHUpdateRecordRecord>)item;

                JHUpdateRecord.Update(UpdatePackage);
            }
            catch (Exception ex) { FISCA.Presentation.Controls.MsgBox.Show("更新資料發生異常."); }
        }
        private void Update(object item)
        {
            try
            {
                List <JHUpdateRecordRecord> UpdatePackage = (List <JHUpdateRecordRecord>)item;

                JHUpdateRecord.Update(UpdatePackage);
            }
            catch (Exception ex) {}
        }