Added logic to assure that edits are saved before printing or approval

This commit is contained in:
Rich 2012-04-27 17:14:45 +00:00
parent ea3770fcb8
commit d6b7a34d3b
2 changed files with 33 additions and 0 deletions

View File

@ -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();
}

View File

@ -681,6 +681,34 @@ namespace Volian.Controls.Library
}
return null;
}
/// <summary>
/// Save the current EditItem if it is in Edit mode
/// </summary>
/// <param name="pi">ProcedureInfo</param>
public void SaveCurrentEditItem(ProcedureInfo pi)
{
DisplayTabItem dti = GetProcDisplayTabItem(pi);
if (dti == null) return;
EditItem ei = dti.MyStepTabPanel.SelectedEditItem;
if (ei == null) return;
ei.SaveCurrentAndContents();
}
/// <summary>
/// Save the current EditItem if it is in Edit mode
/// </summary>
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