private void btnDel_Click(object sender, EventArgs e) { try { _logDict.Clear(); // 檢查是否選擇 if (dgData.SelectedRows.Count > 0) { // 取得異動編號 List <string> urId = new List <string>(); foreach (DataGridViewRow drv in dgData.SelectedRows) { string id = drv.Tag.ToString(); if (!string.IsNullOrEmpty(id)) { urId.Add(id); // 記錄 log if (_dataRowDict.ContainsKey(id)) { // 取得學生ID string sid = _dataRowDict[id]["sid"].ToString(); if (!_logDict.ContainsKey(sid)) { _logDict.Add(sid, new StringBuilder().AppendLine("刪除異動資料:")); } //學號、班級、座號、姓名、異動日期、異動代碼、原因及事項 string logdata = "學號:" + _dataRowDict[id]["student_number"].ToString() + ",班級:" + _dataRowDict[id]["class_name"].ToString() + ".座號:" + _dataRowDict[id]["seat_no"].ToString() + ",姓名:" + _dataRowDict[id]["name"].ToString() + ",異動日期:" + _dataRowDict[id]["update_date"].ToString() + ",異動代碼:" + _dataRowDict[id]["update_code"].ToString() + ",原因及事項:" + _dataRowDict[id]["update_desc"].ToString(); _logDict[sid].AppendLine(logdata); } } } // 取得異動資料 List <K12.Data.UpdateRecordRecord> urList = K12.Data.UpdateRecord.SelectByIDs(urId); // 刪除資料 K12.Data.UpdateRecord.Delete(urList); // Log // 刪除異動 log foreach (string sid in _logDict.Keys) { ApplicationLog.Log("異動資料", "刪除異動", "student", sid, _logDict[sid].ToString()); } FISCA.Presentation.Controls.MsgBox.Show("共刪除 " + urList.Count + " 筆異動資料"); this.Close(); } else { FISCA.Presentation.Controls.MsgBox.Show("請選擇異動資料"); } } catch (Exception ex) { SmartSchool.ErrorReporting.ErrorMessgae msg = new SmartSchool.ErrorReporting.ErrorMessgae(ex); FISCA.Presentation.Controls.MsgBox.Show("刪除異動資料發生錯誤," + ex.Message); } }
void _bgExporData_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { // 匯出至csv try { DataTable dt = e.Result as DataTable; if (dt != null) { // Utility.CompletedCSV("大學甄選", dt); Utility.CompletedXlsCsv("大學甄選", dt); } } catch (Exception ex) { SmartSchool.ErrorReporting.ErrorMessgae errMsg = new SmartSchool.ErrorReporting.ErrorMessgae(ex); FISCA.Presentation.Controls.MsgBox.Show("產生 csv 檔案發生錯誤:" + ex.Message); } _bgLoadMapping.RunWorkerAsync(); }
void BGW_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { FormComponeEnable(true); if (e.Error == null) { ExcelHelper excelHelper = (ExcelHelper)((object[])e.Result)[0]; #region 儲存 Excel string path = excelHelper._FileName; if (File.Exists(path)) { bool needCount = true; try { File.Delete(path); needCount = false; } catch { } int i = 1; while (needCount) { string newPath = Path.GetDirectoryName(path) + "\\" + Path.GetFileNameWithoutExtension(path) + (i++) + Path.GetExtension(path); if (!File.Exists(newPath)) { path = newPath; break; } else { try { File.Delete(newPath); path = newPath; break; } catch { } } } } try { File.Create(path).Close(); } catch { SaveFileDialog sd = new SaveFileDialog(); sd.Title = "另存新檔"; sd.FileName = Path.GetFileNameWithoutExtension(path) + ".xls"; sd.Filter = "Excel檔案 (*.xls)|*.xls|所有檔案 (*.*)|*.*"; if (sd.ShowDialog() == DialogResult.OK) { try { File.Create(sd.FileName); path = sd.FileName; } catch { FISCA.Presentation.Controls.MsgBox.Show("指定路徑無法存取。", "建立檔案失敗", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } excelHelper._Report.Save(path, FileFormatType.Excel2003); #endregion if (excelHelper._IsOverRow) MsgBox.Show("匯出資料已經超過Excel的極限(65536筆)。\n超出的資料無法被匯出。\n\n請減少選取學生人數。"); FISCA.Presentation.MotherForm.SetStatusBarMessage(Global.Title + "產生完成。", 100); System.Diagnostics.Process.Start(path); } else { MsgBox.Show(Global.Title + "發生未預期錯誤。\n" + e.Error.Message); // 將訊息儲存在本機 Exception 資料夾並傳回 ischool SmartSchool.ErrorReporting.ErrorMessgae errMsg = new SmartSchool.ErrorReporting.ErrorMessgae(e.Error); } }
void BGW_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { FormComponeEnable(true); if (e.Error == null) { ExcelHelper excelHelper = (ExcelHelper)((object[])e.Result)[0]; #region 儲存 Excel string path = excelHelper._FileName; if (File.Exists(path)) { bool needCount = true; try { File.Delete(path); needCount = false; } catch { } int i = 1; while (needCount) { string newPath = Path.GetDirectoryName(path) + "\\" + Path.GetFileNameWithoutExtension(path) + (i++) + Path.GetExtension(path); if (!File.Exists(newPath)) { path = newPath; break; } else { try { File.Delete(newPath); path = newPath; break; } catch { } } } } try { File.Create(path).Close(); } catch { SaveFileDialog sd = new SaveFileDialog(); sd.Title = "另存新檔"; sd.FileName = Path.GetFileNameWithoutExtension(path) + ".xls"; sd.Filter = "Excel檔案 (*.xls)|*.xls|所有檔案 (*.*)|*.*"; if (sd.ShowDialog() == DialogResult.OK) { try { File.Create(sd.FileName); path = sd.FileName; } catch { FISCA.Presentation.Controls.MsgBox.Show("指定路徑無法存取。", "建立檔案失敗", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } } excelHelper._Report.Save(path, FileFormatType.Excel2003); #endregion if (excelHelper._IsOverRow) { MsgBox.Show("匯出資料已經超過Excel的極限(65536筆)。\n超出的資料無法被匯出。\n\n請減少選取學生人數。"); } FISCA.Presentation.MotherForm.SetStatusBarMessage(Global.Title + "產生完成。", 100); System.Diagnostics.Process.Start(path); } else { MsgBox.Show(Global.Title + "發生未預期錯誤。\n" + e.Error.Message); // 將訊息儲存在本機 Exception 資料夾並傳回 ischool SmartSchool.ErrorReporting.ErrorMessgae errMsg = new SmartSchool.ErrorReporting.ErrorMessgae(e.Error); } }