public override string Import(List<IRowStream> Rows) { List<DAO.UDT_CounselUserDefDataDef> InsertData = new List<DAO.UDT_CounselUserDefDataDef>(); List<DAO.UDT_CounselUserDefDataDef> UpdateData = new List<DAO.UDT_CounselUserDefDataDef>(); List<DAO.UDT_CounselUserDefDataDef> HasData = new List<DAO.UDT_CounselUserDefDataDef>(); List<string> StudentIDList = new List<string>(); // 取得學生狀態對應 foreach (IRowStream ir in Rows) { if (ir.Contains("學號") && ir.Contains("狀態")) StudentIDList.Add(Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")).ToString()); } // 已有資料 HasData = _UDTTransfer.GetCounselUserDefineDataByStudentIDList(StudentIDList); foreach (IRowStream ir in Rows) { DAO.UDT_CounselUserDefDataDef CounselUserDefineData = null; int sid = 0; if (ir.Contains("學號") && ir.Contains("狀態")) { string key = ir.GetValue("學號") + "_"; if (Global._StudentStatusDBDict.ContainsKey(ir.GetValue("狀態"))) sid = Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")); foreach (DAO.UDT_CounselUserDefDataDef rec in HasData.Where(x => x.StudentID == sid)) { if (rec.FieldName == ir.GetValue("欄位名稱")) CounselUserDefineData = rec; } if (CounselUserDefineData == null) CounselUserDefineData = new DAO.UDT_CounselUserDefDataDef(); // 學生編號 CounselUserDefineData.StudentID = sid; // 欄位名稱 CounselUserDefineData.FieldName = ir.GetValue("欄位名稱"); // 值 CounselUserDefineData.Value = ir.GetValue("值"); if (string.IsNullOrEmpty(CounselUserDefineData.UID)) InsertData.Add(CounselUserDefineData); else UpdateData.Add(CounselUserDefineData); } } if (InsertData.Count > 0) _UDTTransfer.InsertCounselUsereDefinfDataList(InsertData); if (UpdateData.Count > 0) _UDTTransfer.UpdateCounselUserDefineDataList(UpdateData); return ""; }
/// <summary> /// 將讀取資料填入DataGridView /// </summary> private void DataBindToDataGridView() { try { //_LogTransfer.Clear(); this.Loading = true; ChangeManager.SuspendListen(); dgv.Rows.Clear(); _FieldNameList.Clear(); int rowIdx = 0; foreach (DAO.UDT_CounselUserDefDataDef udd in _UserDefineData) { rowIdx = dgv.Rows.Add(); dgv.Rows[rowIdx].Tag = udd; dgv.Rows[rowIdx].Cells[FieldName.Index].Value = udd.FieldName; dgv.Rows[rowIdx].Cells[Value.Index].Value = udd.Value; _FieldNameList.Add(udd.FieldName); //_LogTransfer.SetLogValue(udd.FieldName, udd.Value); } // 放入樣板有內容沒有的 foreach (string str in _UseDefineDataType.Keys) { if (!_FieldNameList.Contains(str)) { DAO.UDT_CounselUserDefDataDef cudd = new DAO.UDT_CounselUserDefDataDef(); cudd.FieldName = str; cudd.Value = ""; cudd.StudentID = int.Parse(PrimaryKey); rowIdx = dgv.Rows.Add(); dgv.Rows[rowIdx].Tag = cudd; dgv.Rows[rowIdx].Cells[FieldName.Index].Value = cudd.FieldName; dgv.Rows[rowIdx].Cells[Value.Index].Value = cudd.Value; } } } catch (Exception ex) { FISCA.Presentation.Controls.MsgBox.Show(ex.Message); } this.CancelButtonVisible = false; this.SaveButtonVisible = false; this.ContentValidated = true; ChangeManager.Reset(); ChangeManager.ResumeListen(); this.Loading = false; }
public override string Import(List <IRowStream> Rows) { List <DAO.UDT_CounselUserDefDataDef> InsertData = new List <DAO.UDT_CounselUserDefDataDef>(); List <DAO.UDT_CounselUserDefDataDef> UpdateData = new List <DAO.UDT_CounselUserDefDataDef>(); List <DAO.UDT_CounselUserDefDataDef> HasData = new List <DAO.UDT_CounselUserDefDataDef>(); List <string> StudentIDList = new List <string>(); // 取得學生狀態對應 foreach (IRowStream ir in Rows) { if (ir.Contains("學號") && ir.Contains("狀態")) { StudentIDList.Add(Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")).ToString()); } } // 已有資料 HasData = _UDTTransfer.GetCounselUserDefineDataByStudentIDList(StudentIDList); foreach (IRowStream ir in Rows) { DAO.UDT_CounselUserDefDataDef CounselUserDefineData = null; int sid = 0; if (ir.Contains("學號") && ir.Contains("狀態")) { string key = ir.GetValue("學號") + "_"; if (Global._StudentStatusDBDict.ContainsKey(ir.GetValue("狀態"))) { sid = Utility.GetStudentID(ir.GetValue("學號"), ir.GetValue("狀態")); } foreach (DAO.UDT_CounselUserDefDataDef rec in HasData.Where(x => x.StudentID == sid)) { if (rec.FieldName == ir.GetValue("欄位名稱")) { CounselUserDefineData = rec; } } if (CounselUserDefineData == null) { CounselUserDefineData = new DAO.UDT_CounselUserDefDataDef(); } // 學生編號 CounselUserDefineData.StudentID = sid; // 欄位名稱 CounselUserDefineData.FieldName = ir.GetValue("欄位名稱"); // 值 CounselUserDefineData.Value = ir.GetValue("值"); if (string.IsNullOrEmpty(CounselUserDefineData.UID)) { InsertData.Add(CounselUserDefineData); } else { UpdateData.Add(CounselUserDefineData); } } } if (InsertData.Count > 0) { _UDTTransfer.InsertCounselUsereDefinfDataList(InsertData); } if (UpdateData.Count > 0) { _UDTTransfer.UpdateCounselUserDefineDataList(UpdateData); } return(""); }
/// <summary> /// 將讀取資料填入DataGridView /// </summary> private void DataBindToDataGridView() { try { //_LogTransfer.Clear(); this.Loading = true; ChangeManager.SuspendListen(); dgv.Rows.Clear(); _FieldNameList.Clear(); int rowIdx=0; foreach(DAO.UDT_CounselUserDefDataDef udd in _UserDefineData) { rowIdx = dgv.Rows.Add(); dgv.Rows[rowIdx].Tag = udd; dgv.Rows[rowIdx].Cells[FieldName.Index].Value = udd.FieldName; dgv.Rows[rowIdx].Cells[Value.Index].Value = udd.Value; _FieldNameList.Add(udd.FieldName); //_LogTransfer.SetLogValue(udd.FieldName, udd.Value); } // 放入樣板有內容沒有的 foreach(string str in _UseDefineDataType.Keys ) if (!_FieldNameList.Contains(str)) { DAO.UDT_CounselUserDefDataDef cudd = new DAO.UDT_CounselUserDefDataDef(); cudd.FieldName = str; cudd.Value = ""; cudd.StudentID = int.Parse(PrimaryKey); rowIdx = dgv.Rows.Add(); dgv.Rows[rowIdx].Tag = cudd; dgv.Rows[rowIdx].Cells[FieldName.Index].Value = cudd.FieldName; dgv.Rows[rowIdx].Cells[Value.Index].Value = cudd.Value; } } catch (Exception ex) { FISCA.Presentation.Controls.MsgBox.Show(ex.Message); } this.CancelButtonVisible = false; this.SaveButtonVisible = false; this.ContentValidated = true; ChangeManager.Reset(); ChangeManager.ResumeListen(); this.Loading = false; }
/// <summary> /// 按下儲存 /// </summary> /// <param name="e"></param> protected override void OnSaveButtonClick(EventArgs e) { bool canSave = true; dgv.EndEdit(); // 檢查資料 foreach (DataGridViewRow drv in dgv.Rows) { foreach (DataGridViewCell cell in drv.Cells) if (cell.ErrorText != "") canSave = false; } if (canSave) { try { _InsertDataList.Clear(); _UpdateDataList.Clear(); _DeleteDataList.Clear(); _HasUIDList.Clear(); // 儲存資料到 UDT foreach (DataGridViewRow row in dgv.Rows) { if (row.IsNewRow) continue; DAO.UDT_CounselUserDefDataDef udd = new DAO.UDT_CounselUserDefDataDef(); // 資料轉型 if (row.Tag != null) udd = (DAO.UDT_CounselUserDefDataDef)row.Tag; udd.StudentID = int.Parse(PrimaryKey); if (row.Cells[FieldName.Index].Value != null) udd.FieldName = row.Cells[FieldName.Index].Value.ToString(); if (row.Cells[Value.Index].Value != null) udd.Value = row.Cells[Value.Index].Value.ToString(); // 新增或更新 if (string.IsNullOrEmpty(udd.UID)) _InsertDataList.Add(udd); else { _UpdateDataList.Add(udd); _HasUIDList.Add(udd.UID); } //_LogTransfer.SetLogValue(udd.FieldName, udd.Value); } // 新增或更新至 UDT if (_InsertDataList.Count > 0) _UDTTransfer.InsertCounselUsereDefinfDataList(_InsertDataList); if (_UpdateDataList.Count > 0) _UDTTransfer.UpdateCounselUserDefineDataList(_UpdateDataList); // 刪除舊資料 UDT foreach (DAO.UDT_CounselUserDefDataDef udd in _UserDefineData) if (!_HasUIDList.Contains(udd.UID)) _DeleteDataList.Add(udd); if (_DeleteDataList.Count > 0) _UDTTransfer.DeleteCounselUserDefineDataList(_DeleteDataList); this.CancelButtonVisible = false; this.SaveButtonVisible = false; } catch (Exception ex) { FISCA.Presentation.Controls.MsgBox.Show("儲存失敗!"); } } else { this.CancelButtonVisible = true; this.SaveButtonVisible = false; } }
/// <summary> /// 按下儲存 /// </summary> /// <param name="e"></param> protected override void OnSaveButtonClick(EventArgs e) { bool canSave = true; dgv.EndEdit(); // 檢查資料 foreach (DataGridViewRow drv in dgv.Rows) { foreach (DataGridViewCell cell in drv.Cells) { if (cell.ErrorText != "") { canSave = false; } } } if (canSave) { try { _InsertDataList.Clear(); _UpdateDataList.Clear(); _DeleteDataList.Clear(); _HasUIDList.Clear(); // 儲存資料到 UDT foreach (DataGridViewRow row in dgv.Rows) { if (row.IsNewRow) { continue; } DAO.UDT_CounselUserDefDataDef udd = new DAO.UDT_CounselUserDefDataDef(); // 資料轉型 if (row.Tag != null) { udd = (DAO.UDT_CounselUserDefDataDef)row.Tag; } udd.StudentID = int.Parse(PrimaryKey); if (row.Cells[FieldName.Index].Value != null) { udd.FieldName = row.Cells[FieldName.Index].Value.ToString(); } if (row.Cells[Value.Index].Value != null) { udd.Value = row.Cells[Value.Index].Value.ToString(); } // 新增或更新 if (string.IsNullOrEmpty(udd.UID)) { _InsertDataList.Add(udd); } else { _UpdateDataList.Add(udd); _HasUIDList.Add(udd.UID); } //_LogTransfer.SetLogValue(udd.FieldName, udd.Value); } // 新增或更新至 UDT if (_InsertDataList.Count > 0) { _UDTTransfer.InsertCounselUsereDefinfDataList(_InsertDataList); } if (_UpdateDataList.Count > 0) { _UDTTransfer.UpdateCounselUserDefineDataList(_UpdateDataList); } // 刪除舊資料 UDT foreach (DAO.UDT_CounselUserDefDataDef udd in _UserDefineData) { if (!_HasUIDList.Contains(udd.UID)) { _DeleteDataList.Add(udd); } } if (_DeleteDataList.Count > 0) { _UDTTransfer.DeleteCounselUserDefineDataList(_DeleteDataList); } this.CancelButtonVisible = false; this.SaveButtonVisible = false; } catch (Exception ex) { FISCA.Presentation.Controls.MsgBox.Show("儲存失敗!"); } } else { this.CancelButtonVisible = true; this.SaveButtonVisible = false; } }