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