Folder/DocVersion Specific Info dialog support and multi-user checks
This commit is contained in:
@@ -240,6 +240,7 @@ namespace VEPROMS
|
||||
VETreeNode tn = VETreeNode.GetFolder(1);
|
||||
tv.Nodes.Add(tn);
|
||||
tv.NodePSI += new vlnTreeViewPSIEvent(tv_NodePSI);
|
||||
tv.NodeSI += new vlnTreeViewSIEvent(tv_NodeSI);
|
||||
tv.NodeOpenProperty += new vlnTreeViewPropertyEvent(tv_NodeOpenProperty);
|
||||
tv.NodeSelect += new Volian.Controls.Library.vlnTreeViewEvent(tv_NodeSelect);
|
||||
tv.NodeNew += new vlnTreeViewEvent(tv_NodeNew);
|
||||
@@ -347,7 +348,7 @@ namespace VEPROMS
|
||||
if (fi != null)
|
||||
{
|
||||
string msg = string.Empty;
|
||||
bool ok = MySessionInfo.CanCheckOutItem(fi.FolderID, CheckOutType.Folder, ref msg);
|
||||
bool ok = MySessionInfo.CanCheckOutItem(fi.FolderID, CheckOutType.Session, ref msg);
|
||||
if (!ok)
|
||||
{
|
||||
if (args.Index == 0)
|
||||
@@ -357,7 +358,7 @@ namespace VEPROMS
|
||||
}
|
||||
else
|
||||
{
|
||||
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Folder);
|
||||
int ownerid = MySessionInfo.CheckOutItem(fi.FolderID, CheckOutType.Session);
|
||||
dlgExportImport dlg = new dlgExportImport(args.Index == 0 ? "Export" : "Import", fi);
|
||||
dlg.ShowDialog(this);
|
||||
MySessionInfo.CheckInItem(ownerid);
|
||||
@@ -701,6 +702,35 @@ namespace VEPROMS
|
||||
MySessionInfo.CheckInItem(ownerID);
|
||||
return dr;
|
||||
}
|
||||
DialogResult tv_NodeSI(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
VETreeNode vNode = (VETreeNode)args.Node;
|
||||
IVEDrillDownReadOnly veObj = vNode.VEObject;
|
||||
// see if working draft or folder & get associated 'SI' info from its config.
|
||||
// For now, do folder.
|
||||
bool doFolder = true;
|
||||
FolderInfo myFolder = veObj as FolderInfo;
|
||||
DocVersionInfo myDV = veObj as DocVersionInfo; ;
|
||||
if (myFolder == null) doFolder = false;
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(doFolder?myFolder.FolderID:myDV.VersionID, doFolder?CheckOutType.Folder:CheckOutType.DocVersion, ref message))
|
||||
{
|
||||
MessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return DialogResult.None;
|
||||
}
|
||||
string strConfig = doFolder ? myFolder.Config : myDV.Config;
|
||||
FormatInfo fi = doFolder ? myFolder.ActiveFormat : myDV.ActiveFormat;
|
||||
if (fi == null)
|
||||
{
|
||||
MessageBox.Show("You must define a format at this level before access of Specific Information");
|
||||
return DialogResult.Cancel;
|
||||
}
|
||||
int ownerID = MySessionInfo.CheckOutItem(doFolder ? myFolder.FolderID : myDV.VersionID, doFolder ? CheckOutType.Folder : CheckOutType.DocVersion);
|
||||
frmSI fsi = new frmSI(fi.PlantFormat.FormatData.SI, strConfig, doFolder, myFolder, myDV);
|
||||
DialogResult dr = fsi.ShowDialog(this);
|
||||
MySessionInfo.CheckInItem(ownerID);
|
||||
return dr;
|
||||
}
|
||||
/// <summary>
|
||||
/// Activate tmrTreeView so that the newly created Step recieves focus
|
||||
/// </summary>
|
||||
@@ -1818,16 +1848,34 @@ namespace VEPROMS
|
||||
{
|
||||
if (args.FolderConfig != null)
|
||||
{
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(args.FolderConfig.MyFolder.FolderID, CheckOutType.Folder, ref message))
|
||||
{
|
||||
MessageBox.Show(this, message, "Folder Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
this.Cursor = Cursors.Default;
|
||||
return DialogResult.None;
|
||||
}
|
||||
int ownerID = MySessionInfo.CheckOutItem(args.FolderConfig.MyFolder.FolderID, CheckOutType.Folder);
|
||||
frmFolderProperties frmfld = new frmFolderProperties(args.FolderConfig);
|
||||
dr = frmfld.ShowDialog();
|
||||
if (dr == DialogResult.OK)
|
||||
epProcedures.TitleText = getProcedurePanelHeading();// get the panel heading
|
||||
MySessionInfo.CheckInItem(ownerID);
|
||||
}
|
||||
else if (args.DocVersionConfig != null)
|
||||
{
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(args.DocVersionConfig.MyDocVersion.VersionID, CheckOutType.DocVersion, ref message))
|
||||
{
|
||||
MessageBox.Show(this, message, "Document Version Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
this.Cursor = Cursors.Default;
|
||||
return DialogResult.None;
|
||||
}
|
||||
int ownerID = MySessionInfo.CheckOutItem(args.DocVersionConfig.MyDocVersion.VersionID, CheckOutType.DocVersion);
|
||||
frmVersionsProperties frmver = new frmVersionsProperties(args.DocVersionConfig);
|
||||
frmver.ProgressBar = bottomProgBar;
|
||||
dr = frmver.ShowDialog();
|
||||
MySessionInfo.CheckInItem(ownerID);
|
||||
}
|
||||
else if (args.ProcedureConfig != null)
|
||||
{
|
||||
|
Reference in New Issue
Block a user