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();
     }
 }
Esempio n. 2
0
        /// <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);
        }