Example #1
0
        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);
            }
        }
Example #2
0
        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); 
            }
        }
Example #4
0
        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);
            }
        }