diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index fa9389cf..b3f8ae0c 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -258,6 +258,7 @@ namespace VEPROMS { DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo; if (dvi == null) return; + tc.SaveCurrentEditItem(); dlgApproveProcedure dlg = new dlgApproveProcedure(dvi, true); dlg.ShowDialog(this); displayHistory.RefreshList(); @@ -267,6 +268,7 @@ namespace VEPROMS { DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo; if (dvi == null) return; + tc.SaveCurrentEditItem(); dlgApproveProcedure dlg = new dlgApproveProcedure(dvi); dlg.ShowDialog(this); displayHistory.RefreshList(); @@ -276,6 +278,7 @@ namespace VEPROMS { ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo; if (pi == null) return; + tc.SaveCurrentEditItem(pi); dlgApproveProcedure dlg = new dlgApproveProcedure(pi); dlg.ShowDialog(this); displayHistory.RefreshList(); @@ -285,6 +288,7 @@ namespace VEPROMS { DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo; if (dvi == null) return; + tc.SaveCurrentEditItem(); DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi); prnDlg.Show(); } @@ -292,6 +296,7 @@ namespace VEPROMS { ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo; if (pi == null) return; + tc.SaveCurrentEditItem(pi); DlgPrintProcedure prnDlg = new DlgPrintProcedure(pi); prnDlg.Show(); } diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index 95ef5c06..837492ea 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs @@ -681,6 +681,34 @@ namespace Volian.Controls.Library } return null; } + /// + /// Save the current EditItem if it is in Edit mode + /// + /// ProcedureInfo + public void SaveCurrentEditItem(ProcedureInfo pi) + { + DisplayTabItem dti = GetProcDisplayTabItem(pi); + if (dti == null) return; + EditItem ei = dti.MyStepTabPanel.SelectedEditItem; + if (ei == null) return; + ei.SaveCurrentAndContents(); + } + /// + /// Save the current EditItem if it is in Edit mode + /// + public void SaveCurrentEditItem() + { + foreach (DisplayTabItem dti in _MyDisplayTabItems.Values) + { + StepTabPanel stp = dti.MyStepTabPanel; + if (stp != null) + { + EditItem ei = stp.SelectedEditItem; + if (ei != null) + ei.SaveCurrentAndContents(); + } + } + } public DisplayTabItem GetProcDisplayTabItem(ItemInfo myItemInfo) { ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item