public GraduationPlanUpdateDetailForm(GraduationPlanInfo graduationPlanInfo, string action) { InitializeComponent(); this.GraduationPlanInfo = graduationPlanInfo; if (action == "差異更新") { this.LoadCombo(); this.CurrentGraduationPlan = ((OldGraduationPlanInfo)(this.cboGraduationName.SelectedItem)); checkBoxShowOnly.Checked = true; this.FillDataGridView(this.GraduationPlanInfo.DicOldGraduationPlanInfos[CurrentGraduationPlan.SysID].OldContentXml, this.checkBoxShowOnly.Checked); } else if (action == "新增") { this.SettView(action); this.FillDataGridViewShowNew(); } }
/// <summary> /// 開始新增及更新 /// </summary> public List <string> InsertAndUpdate() { List <string> FinishUpdateList = new List <string>(); //儲存更新增用 foreach (string gPlanCode in NewGraduationInfos.Keys) // 每個資料讀進來整理過後的檔案 { if (NewGraduationInfos[gPlanCode].DicOldGraduationPlanInfos.Count != 0) // 如果系統已經有相同課程規劃表 { foreach (string oldGPlanCode in NewGraduationInfos[gPlanCode].DicOldGraduationPlanInfos.Keys) // 每個Old gPlan { OldGraduationPlanInfo OldGraduationPlanInfo = NewGraduationInfos[gPlanCode].DicOldGraduationPlanInfos[oldGPlanCode]; OldGraduationPlanInfo.MakeUpdateXml(); // 產生update XML try { DataService.UpdateGraduationPlan(OldGraduationPlanInfo.SysID, OldGraduationPlanInfo.GraduationName, OldGraduationPlanInfo.UpdateContentXml.OuterXml); FinishUpdateList.Add(OldGraduationPlanInfo.GraduationName); } catch (Exception ex) { MsgBox.Show($"更新 課程規劃表 : 【{ OldGraduationPlanInfo.GraduationName}】 時 發生錯誤。 \n{ex.Message}"); } } } else // 系統內部沒有 ==> 新增 { try { string NewXmlContent = DataService.GetNewGraduationContent(NewGraduationInfos[gPlanCode]); DataService.InsertGraduationPlan(NewGraduationInfos[gPlanCode].GraduationName, NewXmlContent); FinishUpdateList.Add(NewGraduationInfos[gPlanCode].GraduationName); } catch (Exception ex) { MsgBox.Show($"新增 課程規劃表 :{NewGraduationInfos[gPlanCode].GraduationName} 發生錯誤。 \n{ex.Message}"); } } } return(FinishUpdateList); }
private void checkBoxShowOnly_CheckedChanged(object sender, EventArgs e) { this.CurrentGraduationPlan = ((OldGraduationPlanInfo)(this.cboGraduationName.SelectedItem)); this.FillDataGridView(this.GraduationPlanInfo.DicOldGraduationPlanInfos[CurrentGraduationPlan.SysID].OldContentXml, this.checkBoxShowOnly.Checked); }