Added code to allow user with Writer permission to force check-in a procedure that they have checked-out

Added code to export individual procedure and to import individual procedure as a copy or overwrite in same procedure set or as a new procedure in a different procedure set
Added code to handle events for exporting and importing procedures to same or different procedure sets within the same database
Added code to allow user with both RO Editor and Writer permisssions to user RO Editor and edit procedure.
Added menu items to export a procedure or import procedure and initiate their corresponding events.
This commit is contained in:
Rich
2014-07-29 02:32:44 +00:00
parent 88e893621c
commit da55996088
5 changed files with 301 additions and 87 deletions

View File

@@ -283,7 +283,17 @@ namespace VEPROMS
void tv_ExportImportProcedureSets(object sender, vlnTreeEventArgs args)
{
FolderInfo fi = (args.Node as VETreeNode).VEObject as FolderInfo;
FolderInfo fi = null;
DocVersionInfo dvi = null;
ProcedureInfo pi = null;
if ((args.Node as VETreeNode).VEObject is FolderInfo)
fi = (args.Node as VETreeNode).VEObject as FolderInfo;
if ((args.Node as VETreeNode).VEObject is DocVersionInfo)
dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo;
if ((args.Node as VETreeNode).VEObject is ProcedureInfo)
pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
if (fi != null)
{
string msg = string.Empty;
bool ok = MySessionInfo.CanCheckOutItem(fi.FolderID, CheckOutType.Folder, ref msg);
if (!ok)
@@ -302,10 +312,43 @@ namespace VEPROMS
if (args.Index == 1 && dlg.MyNewFolder != null)
tv.AddNewNode(dlg.MyNewFolder);
}
}
if (dvi != null)
{
string msg = string.Empty;
bool ok = MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref msg);
if (!ok)
{
MessageBox.Show(this, msg, "Import Procedure Unavailable");
}
else
{
int ownerid = MySessionInfo.CheckOutItem(dvi.VersionID, CheckOutType.DocVersion);
dlgExportImport dlg = new dlgExportImport("Import", dvi);
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid);
tv.AddNewNode(dlg.MyNewProcedure);
}
}
if (pi != null)
{
string msg = string.Empty;
bool ok = MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref msg);
if (!ok)
{
MessageBox.Show(this, msg, "Export Procedure Unavailable");
}
else
{
int ownerid = MySessionInfo.CheckOutItem(pi.ItemID, CheckOutType.Procedure);
dlgExportImport dlg = new dlgExportImport("Export", pi);
dlg.ShowDialog(this);
MySessionInfo.CheckInItem(ownerid);
}
}
}
private void MakeDatabaseChanges()
private void MakeDatabaseChanges()
{
// September 2012: Decided to store roimages as zipped. Any previous data may not have them zipped.
// Check the top folders config to see, and if needed, zip them: