private void JHAssessmentSetup_AfterInsert(object sender, K12.Data.DataChangedEventArgs e) { if (e.PrimaryKeys.Count > 0) { if (cboExistTemplates.Enabled == true && cboExistTemplates.SelectedItem is JHAssessmentSetupRecord) { JHAssessmentSetupRecord source = cboExistTemplates.SelectedItem as JHAssessmentSetupRecord; bool executeRequired = false; List <JHAEIncludeRecord> aeincludes = new List <JHAEIncludeRecord>(); foreach (JHAEIncludeRecord each in JHAEInclude.SelectByAssessmentSetupID(source.ID)) { JHAEIncludeRecord aeNew = new JHAEIncludeRecord(); aeNew.RefAssessmentSetupID = e.PrimaryKeys[0]; aeNew.RefExamID = each.RefExamID; aeNew.UseScore = each.UseScore; aeNew.UseText = each.UseText; aeNew.UseEffort = each.UseEffort; aeNew.Weight = each.Weight; aeNew.StartTime = each.StartTime; aeNew.EndTime = each.EndTime; aeincludes.Add(aeNew); executeRequired = true; } if (executeRequired) { JHAEInclude.Insert(aeincludes); } } } JHAssessmentSetup.AfterInsert -= new EventHandler <K12.Data.DataChangedEventArgs>(JHAssessmentSetup_AfterInsert); }
private bool SaveTemplate() { if (HasErrors()) { MsgBox.Show("請修正資料後再儲存。", Application.ProductName); return(false); } try { AssessmentSetupRecord record = CurrentItem.Tag as AssessmentSetupRecord; List <JHAEIncludeRecord> list = JHAEInclude.SelectByAssessmentSetupID(record.ID); int w = JHAEInclude.Delete(list); List <AEIncludeRecordEditor> editors = new List <AEIncludeRecordEditor>(); //foreach (var item in record.GetAEIncludes()) //{ // AEIncludeRecordEditor editor = item.GetEditor(); // editor.Remove = true; // editors.Add(editor); //} //if (editors.Count > 0) // editors.SaveAll(); //editors = new List<AEIncludeRecordEditor>(); list = new List <JHAEIncludeRecord>(); foreach (DataGridViewRow each in dataview.Rows) { if (each.IsNewRow) { continue; } HC.JHAEIncludeRecord hc = new HC.JHAEIncludeRecord(new JHAEIncludeRecord()); hc.RefAssessmentSetupID = record.ID; hc.RefExamID = "" + each.Cells[ExamID.Index].Value; hc.UseScore = GetYesNoString(each.Cells[UseScore.Index].FormattedValue, false); hc.UseText = GetYesNoString(each.Cells[UseText.Index].FormattedValue, false); hc.UseAssignmentScore = GetYesNoString(each.Cells[UseAssignmentScore.Index].FormattedValue, false); int i; hc.Weight = int.TryParse("" + each.Cells[Weight.Index].Value, out i) ? i : 0; hc.StartTime = DateToSaveFormat("" + each.Cells[StartTime.Index].Value); hc.EndTime = DateToSaveFormat("" + each.Cells[EndTime.Index].Value); list.Add(hc.AsJHAEIncludeRecord()); } if (list.Count > 0) { JHAEInclude.Insert(list); } ResetDirty(); return(true); } catch (Exception ex) { //CurrentUser.ReportError(ex); MsgBox.Show(ex.Message); return(false); } }
private bool SaveTemplate() { if (HasErrors()) { MsgBox.Show("請修正資料後再儲存。", Application.ProductName); return(false); } try { Listener.SuspendListen(); JHAssessmentSetupRecord record = CurrentItem.Tag as JHAssessmentSetupRecord; //刪除原先的 AEInclude if (OriginAEs.Count > 0) { JHAEInclude.Delete(OriginAEs); OriginAEs.Clear(); } //List<JHAEIncludeRecord> deleteList = JHAEInclude.SelectByAssessmentSetupID(record.ID); //if (deleteList.Count > 0) // JHAEInclude.Delete(deleteList); //將畫面上新的 AEInclude 寫入 List <JHAEIncludeRecord> insertList = new List <JHAEIncludeRecord>(); foreach (DataGridViewRow each in dataview.Rows) { if (each.IsNewRow) { continue; } JHAEIncludeRecord aeNew = new JHAEIncludeRecord(); aeNew.RefAssessmentSetupID = record.ID; aeNew.RefExamID = "" + each.Cells[ExamID.Index].Value; aeNew.UseScore = GetYesNoString(each.Cells[UseScore.Index].FormattedValue, false); aeNew.UseText = GetYesNoString(each.Cells[UseText.Index].FormattedValue, false); aeNew.UseEffort = GetYesNoString(each.Cells[UseEffort.Index].FormattedValue, false); int i; aeNew.Weight = int.TryParse("" + each.Cells[Weight.Index].Value, out i) ? i : 0; aeNew.StartTime = DateToSaveFormat("" + each.Cells[StartTime.Index].Value); aeNew.EndTime = DateToSaveFormat("" + each.Cells[EndTime.Index].Value); insertList.Add(aeNew); } if (insertList.Count > 0) { JHAEInclude.Insert(insertList); } //繳交時間寫入 record.OrdinarilyStartTime = GetDateTimeNullable(txtOStartTime.Text, PaddingMethod.First); record.OrdinarilyEndTime = GetDateTimeNullable(txtOEndTime.Text, PaddingMethod.Last); record.TextStartTime = GetDateTimeNullable(txtTStartTime.Text, PaddingMethod.First); record.TextEndTime = GetDateTimeNullable(txtTEndTime.Text, PaddingMethod.Last); JHAssessmentSetup.Update(record); lblIsDirty.Visible = false; Listener.Reset(); Listener.ResumeListen(); return(true); } catch (Exception ex) { MsgBox.Show(ex.Message); return(false); } }