Added code to support converting to text transitions to external destinations with internal style transition
Added wait cursor for log running processes so application shows it is busy Added stubs for adding Update RO Values to batch process. Not functional yet
This commit is contained in:
parent
313cb28327
commit
481589c028
@ -2255,7 +2255,7 @@ namespace VEPROMS
|
||||
else
|
||||
replacewith = string.Format("#Link:TransitionRange:{0} {1} {2} {3}", trantype, transitionid, toid, rangeid);
|
||||
cc.Text = cc.Text.Replace(lookfor, replacewith);
|
||||
bool forceConvertToText;
|
||||
bool forceConvertToText = false;
|
||||
SectionConfig sc = TransitionInfo.Get(tt.TransitionID).MyItemToID.ActiveSection.MyConfig as SectionConfig;
|
||||
forceConvertToText = (sc.SubSection_Edit == "N");
|
||||
cc.FixTransitionText(TransitionInfo.Get(tt.TransitionID), forceConvertToText);
|
||||
@ -2284,9 +2284,22 @@ namespace VEPROMS
|
||||
else
|
||||
replacewith = string.Format("#Link:TransitionRange:{0} {1} {2} {3}", trantype, transitionid, toid, rangeid);
|
||||
cc.Text = cc.Text.Replace(lookfor, replacewith);
|
||||
bool forceConvertToText;
|
||||
bool forceConvertToText = false;
|
||||
SectionConfig sc = TransitionInfo.Get(tt.TransitionID).MyItemToID.ActiveSection.MyConfig as SectionConfig;
|
||||
forceConvertToText = (sc.SubSection_Edit == "N");
|
||||
if (!forceConvertToText) //check to see if external with internal format
|
||||
{
|
||||
TransitionInfo tran = TransitionInfo.Get(transitionid);
|
||||
if (tran.MyContent.ContentItems[0].MyProcedure.ItemID != tran.MyItemToID.MyProcedure.ItemID)
|
||||
if (!tran.MyContent.ContentItems[0].ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[tran.TranType].TransMenu.Contains("Proc"))
|
||||
forceConvertToText = true;
|
||||
}
|
||||
if (!forceConvertToText) //check to see if external to different doc version
|
||||
{
|
||||
TransitionInfo tran = TransitionInfo.Get(transitionid);
|
||||
if (tran.MyContent.ContentItems[0].MyDocVersion.VersionID != tran.MyItemToID.MyDocVersion.VersionID)
|
||||
forceConvertToText = true;
|
||||
}
|
||||
cc.FixTransitionText(TransitionInfo.Get(tt.TransitionID), forceConvertToText);
|
||||
cc.Save();
|
||||
nd.InnerText = "done";
|
||||
|
@ -34,6 +34,7 @@ namespace VEPROMS
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.rbRefObj = new System.Windows.Forms.RadioButton();
|
||||
this.rbTransition = new System.Windows.Forms.RadioButton();
|
||||
this.rbUpdate = new System.Windows.Forms.RadioButton();
|
||||
this.myTV = new System.Windows.Forms.TreeView();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
@ -103,13 +104,14 @@ namespace VEPROMS
|
||||
this.splitContainer2.Panel1.Controls.Add(this.label1);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.rbRefObj);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.rbTransition);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.rbUpdate);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.myTV);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.label2);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(300, 472);
|
||||
this.splitContainer2.SplitterDistance = 107;
|
||||
this.splitContainer2.SplitterDistance = 120;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// rbBoth
|
||||
@ -119,7 +121,7 @@ namespace VEPROMS
|
||||
this.rbBoth.Name = "rbBoth";
|
||||
this.rbBoth.Size = new System.Drawing.Size(195, 17);
|
||||
this.rbBoth.TabIndex = 2;
|
||||
this.rbBoth.Text = "Transitions and Referenced Objects";
|
||||
this.rbBoth.Text = "Refresh Transitions and Referenced Objects";
|
||||
this.rbBoth.UseVisualStyleBackColor = true;
|
||||
this.rbBoth.Click += new System.EventHandler(this.Options_Changed);
|
||||
//
|
||||
@ -142,23 +144,32 @@ namespace VEPROMS
|
||||
this.rbRefObj.Name = "rbRefObj";
|
||||
this.rbRefObj.Size = new System.Drawing.Size(144, 17);
|
||||
this.rbRefObj.TabIndex = 1;
|
||||
this.rbRefObj.Text = "Referenced Objects Only";
|
||||
this.rbRefObj.Text = "Refresh Referenced Objects Only";
|
||||
this.rbRefObj.UseVisualStyleBackColor = true;
|
||||
this.rbRefObj.Click += new System.EventHandler(this.Options_Changed);
|
||||
//
|
||||
// rbTransition
|
||||
//
|
||||
this.rbTransition.AutoSize = true;
|
||||
this.rbTransition.Checked = true;
|
||||
this.rbTransition.Location = new System.Drawing.Point(12, 26);
|
||||
this.rbTransition.Name = "rbTransition";
|
||||
this.rbTransition.Size = new System.Drawing.Size(100, 17);
|
||||
this.rbTransition.TabIndex = 0;
|
||||
this.rbTransition.TabStop = true;
|
||||
this.rbTransition.Text = "Transitions Only";
|
||||
this.rbTransition.Text = "Refresh Transitions Only";
|
||||
this.rbTransition.UseVisualStyleBackColor = true;
|
||||
this.rbTransition.Click += new System.EventHandler(this.Options_Changed);
|
||||
//
|
||||
// rbUpdate
|
||||
//
|
||||
this.rbUpdate.AutoSize = true;
|
||||
this.rbUpdate.Location = new System.Drawing.Point(12, 94);
|
||||
this.rbUpdate.Name = "rbUpdate";
|
||||
this.rbUpdate.Size = new System.Drawing.Size(100, 17);
|
||||
this.rbUpdate.TabIndex = 0;
|
||||
this.rbUpdate.Text = "Update RO Values";
|
||||
this.rbUpdate.UseVisualStyleBackColor = true;
|
||||
this.rbUpdate.Click += new System.EventHandler(this.Options_Changed);
|
||||
//
|
||||
// myTV
|
||||
//
|
||||
this.myTV.CheckBoxes = true;
|
||||
@ -307,7 +318,7 @@ namespace VEPROMS
|
||||
this.btnRefresh.Name = "btnRefresh";
|
||||
this.btnRefresh.Size = new System.Drawing.Size(286, 28);
|
||||
this.btnRefresh.TabIndex = 1;
|
||||
this.btnRefresh.Text = "Refresh selected option";
|
||||
this.btnRefresh.Text = "NO OPTION SELECTED";
|
||||
this.btnRefresh.UseVisualStyleBackColor = true;
|
||||
this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
|
||||
//
|
||||
@ -448,6 +459,7 @@ namespace VEPROMS
|
||||
private System.Windows.Forms.RadioButton rbBoth;
|
||||
private System.Windows.Forms.RadioButton rbRefObj;
|
||||
private System.Windows.Forms.RadioButton rbTransition;
|
||||
private System.Windows.Forms.RadioButton rbUpdate;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Button btnSave;
|
||||
private System.Windows.Forms.Button btnClear;
|
||||
|
@ -6,6 +6,8 @@ using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using VEPROMS.CSLA.Library;
|
||||
using System.IO;
|
||||
using Volian.Controls.Library;
|
||||
|
||||
namespace VEPROMS
|
||||
{
|
||||
@ -38,42 +40,53 @@ namespace VEPROMS
|
||||
}
|
||||
//private DocVersionInfoList myDVIL;
|
||||
private Dictionary<TreeNode, ProcedureInfo> myProcedures = new Dictionary<TreeNode, ProcedureInfo>();
|
||||
private Dictionary<TreeNode, DocVersionInfo> myDocVersions = new Dictionary<TreeNode, DocVersionInfo>();
|
||||
private void frmBatchRefresh_Load(object sender, EventArgs e)
|
||||
{
|
||||
Options_Changed(rbTransition, e);
|
||||
ResetTV();
|
||||
rbUpdate.Visible = false;
|
||||
//Options_Changed(rbTransition, e);
|
||||
//ResetTV();
|
||||
}
|
||||
private void ResetTV()
|
||||
{
|
||||
ResetTV(false);
|
||||
}
|
||||
private void ResetTV(bool noProcs)
|
||||
{
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
myTV.Nodes.Clear();
|
||||
FolderInfo fi = FolderInfo.GetTop();
|
||||
TreeNode tn = myTV.Nodes.Add(fi.Name);
|
||||
tn.Tag = fi;
|
||||
if (fi.ChildFolderCount > 0)
|
||||
LoadChildFolders(fi, tn);
|
||||
LoadChildFolders(fi, tn, noProcs);
|
||||
if (myTV.SelectedNode != null)
|
||||
myTV.SelectedNode.Expand();
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
private void LoadChildFolders(FolderInfo fi, TreeNode tn)
|
||||
private void LoadChildFolders(FolderInfo fi, TreeNode tn, bool noProcs)
|
||||
{
|
||||
foreach (FolderInfo fic in fi.ChildFolders)
|
||||
{
|
||||
TreeNode tnc = tn.Nodes.Add(fic.Name);
|
||||
tnc.Tag = fic;
|
||||
if (fic.ChildFolderCount > 0)
|
||||
LoadChildFolders(fic, tnc);
|
||||
LoadChildFolders(fic, tnc, noProcs);
|
||||
if (fic.FolderDocVersionCount > 0)
|
||||
LoadDocVersions(fic, tnc);
|
||||
LoadDocVersions(fic, tnc, noProcs);
|
||||
}
|
||||
}
|
||||
private void LoadDocVersions(FolderInfo fic, TreeNode tnc)
|
||||
private void LoadDocVersions(FolderInfo fic, TreeNode tnc, bool noProcs)
|
||||
{
|
||||
foreach (DocVersionInfo dvi in fic.FolderDocVersions)
|
||||
{
|
||||
tnc.Tag = dvi;
|
||||
|
||||
if (dvi.Procedures.Count > 0)
|
||||
LoadProcedures(dvi, tnc);
|
||||
myDocVersions.Add(tnc, dvi);
|
||||
if (!noProcs)
|
||||
{
|
||||
if (dvi.Procedures.Count > 0)
|
||||
LoadProcedures(dvi, tnc);
|
||||
}
|
||||
}
|
||||
}
|
||||
private void LoadProcedures(DocVersionInfo dvi, TreeNode tnc)
|
||||
@ -95,82 +108,191 @@ namespace VEPROMS
|
||||
}
|
||||
private void btnRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (btnRefresh.Text == "NO OPTION SELECTED")
|
||||
{
|
||||
MessageBox.Show("You must select an option under the Option panel", btnRefresh.Text);
|
||||
return;
|
||||
}
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
if (rbNow.Checked)
|
||||
{
|
||||
#region now
|
||||
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||
foreach (TreeNode tn in myProcedures.Keys)
|
||||
if (tn.Checked)
|
||||
pil.Add(myProcedures[tn]);
|
||||
PopulateTransitionInfoLists(pil);
|
||||
DateTime pStart = DateTime.Now;
|
||||
txtProcess.AppendText(pStart.ToString("MM/dd/yyyy @ HH:mm"));
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
pbProcess.Minimum = 0;
|
||||
pbProcess.Maximum = pil.Count;
|
||||
pbProcess.Step = 1;
|
||||
while (pil.Count > 0)
|
||||
if (rbUpdate.Checked)
|
||||
{
|
||||
ContentInfo.StaticContentInfoChange += new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
StringBuilder sbProcs = new StringBuilder();
|
||||
Queue<ProcedureInfo> piq = new Queue<ProcedureInfo>();
|
||||
foreach (ProcedureInfo pi in pil)
|
||||
piq.Enqueue(pi);
|
||||
pil.Clear();
|
||||
while (piq.Count > 0)
|
||||
List<DocVersionInfo> dvil = new List<DocVersionInfo>();
|
||||
foreach(TreeNode tn in myDocVersions.Keys)
|
||||
if (tn.Checked)
|
||||
dvil.Add(myDocVersions[tn]);
|
||||
DateTime pStart = DateTime.Now;
|
||||
txtProcess.AppendText(pStart.ToString("MM/dd/yyyy @ HH:mm"));
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
pbProcess.Minimum = 0;
|
||||
pbProcess.Maximum = dvil.Count;
|
||||
pbProcess.Step = 1;
|
||||
while (dvil.Count > 0)
|
||||
{
|
||||
string msg = string.Empty;
|
||||
ProcedureInfo pq = piq.Dequeue();
|
||||
if (!MySessionInfo.CanCheckOutItem(pq.ItemID, CheckOutType.Procedure, ref msg))
|
||||
StringBuilder sbDocVersions = new StringBuilder();
|
||||
Queue<DocVersionInfo> dviq = new Queue<DocVersionInfo>();
|
||||
foreach (DocVersionInfo dvi in dvil)
|
||||
dviq.Enqueue(dvi);
|
||||
dvil.Clear();
|
||||
while (dviq.Count > 0)
|
||||
{
|
||||
pil.Add(pq);
|
||||
sbProcs.AppendLine(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rbTransition.Checked)
|
||||
string msg = string.Empty;
|
||||
DocVersionInfo dq = dviq.Dequeue();
|
||||
if (!MySessionInfo.CanCheckOutItem(dq.VersionID, CheckOutType.DocVersion, ref msg))
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
}
|
||||
else if (rbRefObj.Checked)
|
||||
{
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
dvil.Add(dq);
|
||||
sbDocVersions.AppendLine(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
//InitialProgressBarMessage = "Updating ROs";
|
||||
if (dq.DocVersionAssociationCount < 1)
|
||||
{
|
||||
//FinalProgressBarMessage = "No ROs associated";
|
||||
MessageBox.Show("Error Updating ro.fst. No associated ro.fst");
|
||||
return;
|
||||
}
|
||||
ROFstInfo roFstInfo = dq.DocVersionAssociations[0].MyROFst;
|
||||
string rofstPath = roFstInfo.MyRODb.FolderPath + @"\ro.fst";
|
||||
if (!File.Exists(rofstPath))
|
||||
{
|
||||
//FinalProgressBarMessage = "No existing RO.FST";
|
||||
MessageBox.Show("No existing ro.fst in path " + roFstInfo.MyRODb.FolderPath + ". Check for invalid path");
|
||||
return;
|
||||
}
|
||||
FileInfo fiRofst = new FileInfo(rofstPath);
|
||||
if (roFstInfo.DTS == fiRofst.LastWriteTimeUtc)
|
||||
{
|
||||
//FinalProgressBarMessage = "RO.FST up to date";
|
||||
MessageBox.Show("ro.fst files are same for path " + roFstInfo.MyRODb.FolderPath + ", import of that ro.fst will not be done");
|
||||
return;
|
||||
}
|
||||
if (roFstInfo.DTS > fiRofst.LastWriteTimeUtc)
|
||||
{
|
||||
//FinalProgressBarMessage = "RO.FST is older";
|
||||
MessageBox.Show("Cannot copy older ro.fst from " + roFstInfo.MyRODb.FolderPath + ", import of that ro.fst will not be done");
|
||||
return;
|
||||
}
|
||||
Cursor = Cursors.WaitCursor;
|
||||
using (DocVersion dv = DocVersion.Get(dq.VersionID))
|
||||
{
|
||||
roFstInfo.ROTableUpdate += new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate);
|
||||
ROFst newrofst = ROFstInfo.UpdateRoFst(roFstInfo.MyRODb, dv.DocVersionAssociations[0], dv, roFstInfo, null);// DoProgressBarRefresh);
|
||||
roFstInfo.ROTableUpdate -= new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate);
|
||||
//StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST");
|
||||
//MyEditItem.MyStepPanel.OnTabDisplay(sender, args);
|
||||
//btnUpdROVal.Enabled = false;
|
||||
}
|
||||
Cursor = Cursors.Default;
|
||||
//FinalProgressBarMessage = "ROs values updated";
|
||||
pbProcess.PerformStep();
|
||||
Application.DoEvents();
|
||||
}
|
||||
pbProcess.PerformStep();
|
||||
Application.DoEvents();
|
||||
}
|
||||
DateTime pEnd = DateTime.Now;
|
||||
txtProcess.AppendText(pEnd.ToString("mm/dd/yyyy @ HH:mm"));
|
||||
Application.DoEvents();
|
||||
if (dvil.Count > 0)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("The batch update process was not usccessful for all working drafts selected.");
|
||||
sb.AppendLine("The following working drafts were not able to be refreshed...");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(sbDocVersions.ToString());
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("If you want to update these working drafts, please contact the respective users and have them close any procedures in the working draft.");
|
||||
sb.AppendLine("Once this is complete you can continue the process otherwise you may terminate the process immediately.");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
|
||||
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut();
|
||||
frmCO.MySessionInfo = MySessionInfo;
|
||||
//frmCO.CheckedOutProcedures = dvil;
|
||||
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
||||
frmCO.Show(this);
|
||||
while (!this.Visible)
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
ContentInfo.StaticContentInfoChange -= new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
DateTime pEnd = DateTime.Now;
|
||||
txtProcess.AppendText(pEnd.ToString("mm/dd/yyyy @ HH:mm"));
|
||||
}
|
||||
else
|
||||
{
|
||||
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||
foreach (TreeNode tn in myProcedures.Keys)
|
||||
if (tn.Checked)
|
||||
pil.Add(myProcedures[tn]);
|
||||
PopulateTransitionInfoLists(pil);
|
||||
DateTime pStart = DateTime.Now;
|
||||
txtProcess.AppendText(pStart.ToString("MM/dd/yyyy @ HH:mm"));
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
if (pil.Count > 0)
|
||||
pbProcess.Minimum = 0;
|
||||
pbProcess.Maximum = pil.Count;
|
||||
pbProcess.Step = 1;
|
||||
while (pil.Count > 0)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("The batch refresh process was not usccessful for all procedures selected.");
|
||||
sb.AppendLine("The following procedures were not able to be refreshed...");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(sbProcs.ToString());
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("If you want to refresh these prcoedures, please contact the respective users and have them close the procedures.");
|
||||
sb.AppendLine("Once this is complete you can continue the process otherwise you may terminate the process immediately.");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
|
||||
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut();
|
||||
frmCO.MySessionInfo = MySessionInfo;
|
||||
frmCO.CheckedOutProcedures = pil;
|
||||
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
||||
frmCO.Show(this);
|
||||
while (!this.Visible)
|
||||
Application.DoEvents();
|
||||
ContentInfo.StaticContentInfoChange += new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
StringBuilder sbProcs = new StringBuilder();
|
||||
Queue<ProcedureInfo> piq = new Queue<ProcedureInfo>();
|
||||
foreach (ProcedureInfo pi in pil)
|
||||
piq.Enqueue(pi);
|
||||
pil.Clear();
|
||||
while (piq.Count > 0)
|
||||
{
|
||||
string msg = string.Empty;
|
||||
ProcedureInfo pq = piq.Dequeue();
|
||||
if (!MySessionInfo.CanCheckOutItem(pq.ItemID, CheckOutType.Procedure, ref msg))
|
||||
{
|
||||
pil.Add(pq);
|
||||
sbProcs.AppendLine(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rbTransition.Checked)
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
}
|
||||
else if (rbRefObj.Checked)
|
||||
{
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
}
|
||||
else
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
}
|
||||
pbProcess.PerformStep();
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
ContentInfo.StaticContentInfoChange -= new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
DateTime pEnd = DateTime.Now;
|
||||
txtProcess.AppendText(pEnd.ToString("mm/dd/yyyy @ HH:mm"));
|
||||
Application.DoEvents();
|
||||
if (pil.Count > 0)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("The batch refresh process was not usccessful for all procedures selected.");
|
||||
sb.AppendLine("The following procedures were not able to be refreshed...");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(sbProcs.ToString());
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("If you want to refresh these prcoedures, please contact the respective users and have them close the procedures.");
|
||||
sb.AppendLine("Once this is complete you can continue the process otherwise you may terminate the process immediately.");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("Have you requested the users to close the procedures and do you want to continue the process?");
|
||||
frmBatchRefreshCheckedOut frmCO = new frmBatchRefreshCheckedOut();
|
||||
frmCO.MySessionInfo = MySessionInfo;
|
||||
frmCO.CheckedOutProcedures = pil;
|
||||
frmCO.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmCO.Width, Screen.PrimaryScreen.WorkingArea.Height - frmCO.Height);
|
||||
frmCO.Show(this);
|
||||
while (!this.Visible)
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@ -187,77 +309,83 @@ namespace VEPROMS
|
||||
System.Threading.Thread.Sleep(60000);
|
||||
now = long.Parse(DateTime.Now.ToString("yyyyMMddHHmm"));
|
||||
}
|
||||
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||
foreach (TreeNode tn in myProcedures.Keys)
|
||||
if (tn.Checked)
|
||||
pil.Add(myProcedures[tn]);
|
||||
DateTime pStart = DateTime.Now;
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
txtProcess.AppendText(pStart.ToString("mm/dd/yyyy @ HH:mm"));
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
pbProcess.Minimum = 0;
|
||||
pbProcess.Maximum = pil.Count;
|
||||
pbProcess.Step = 1;
|
||||
while (pil.Count > 0)
|
||||
if (rbUpdate.Checked)
|
||||
{
|
||||
ContentInfo.StaticContentInfoChange += new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
StringBuilder sbProcs = new StringBuilder();
|
||||
Queue<ProcedureInfo> piq = new Queue<ProcedureInfo>();
|
||||
foreach (ProcedureInfo pi in pil)
|
||||
piq.Enqueue(pi);
|
||||
pil.Clear();
|
||||
while (piq.Count > 0)
|
||||
}
|
||||
else
|
||||
{
|
||||
List<ProcedureInfo> pil = new List<ProcedureInfo>();
|
||||
foreach (TreeNode tn in myProcedures.Keys)
|
||||
if (tn.Checked)
|
||||
pil.Add(myProcedures[tn]);
|
||||
DateTime pStart = DateTime.Now;
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
txtProcess.AppendText(pStart.ToString("MM/dd/yyyy @ HH:mm"));
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
pbProcess.Minimum = 0;
|
||||
pbProcess.Maximum = pil.Count;
|
||||
pbProcess.Step = 1;
|
||||
while (pil.Count > 0)
|
||||
{
|
||||
string msg = string.Empty;
|
||||
ProcedureInfo pq = piq.Dequeue();
|
||||
if (!MySessionInfo.CanCheckOutItem(pq.ItemID, CheckOutType.Procedure, ref msg))
|
||||
ContentInfo.StaticContentInfoChange += new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
StringBuilder sbProcs = new StringBuilder();
|
||||
Queue<ProcedureInfo> piq = new Queue<ProcedureInfo>();
|
||||
foreach (ProcedureInfo pi in pil)
|
||||
piq.Enqueue(pi);
|
||||
pil.Clear();
|
||||
while (piq.Count > 0)
|
||||
{
|
||||
pil.Add(pq);
|
||||
sbProcs.AppendLine(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rbTransition.Checked)
|
||||
string msg = string.Empty;
|
||||
ProcedureInfo pq = piq.Dequeue();
|
||||
if (!MySessionInfo.CanCheckOutItem(pq.ItemID, CheckOutType.Procedure, ref msg))
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
}
|
||||
else if (rbRefObj.Checked)
|
||||
{
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
pil.Add(pq);
|
||||
sbProcs.AppendLine(msg);
|
||||
}
|
||||
else
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
if (rbTransition.Checked)
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
}
|
||||
else if (rbRefObj.Checked)
|
||||
{
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
}
|
||||
else
|
||||
{
|
||||
RefreshProcedureTransitions(pq);
|
||||
RefreshProcedureReferencedObjects(pq);
|
||||
}
|
||||
pbProcess.PerformStep();
|
||||
Application.DoEvents();
|
||||
}
|
||||
pbProcess.PerformStep();
|
||||
}
|
||||
ContentInfo.StaticContentInfoChange -= new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
DateTime pEnd = DateTime.Now;
|
||||
txtProcess.AppendText(pEnd.ToString("mm/dd/yyyy @ HH:mm"));
|
||||
Application.DoEvents();
|
||||
if (pil.Count > 0)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("The batch refresh process was not usccessful for all procedures selected.");
|
||||
sb.AppendLine("The following procedures were not able to be refreshed...");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(sbProcs.ToString());
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("These procedures were forced checked in and the process was allowed to complete.");
|
||||
foreach (ProcedureInfo pi in pil)
|
||||
{
|
||||
OwnerInfo oi = OwnerInfo.GetByItemID(pi.ItemID, CheckOutType.Procedure);
|
||||
MySessionInfo.CheckInItem(oi.OwnerID);
|
||||
}
|
||||
txtProcess.AppendText(sb.ToString());
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
ContentInfo.StaticContentInfoChange -= new StaticContentInfoEvent(ContentInfo_StaticContentInfoChange);
|
||||
DateTime pEnd = DateTime.Now;
|
||||
txtProcess.AppendText(pEnd.ToString("mm/dd/yyyy @ HH:mm"));
|
||||
Application.DoEvents();
|
||||
if (pil.Count > 0)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("The batch refresh process was not usccessful for all procedures selected.");
|
||||
sb.AppendLine("The following procedures were not able to be refreshed...");
|
||||
sb.AppendLine();
|
||||
sb.AppendLine(sbProcs.ToString());
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("These procedures were forced checked in and the process was allowed to complete.");
|
||||
foreach (ProcedureInfo pi in pil)
|
||||
{
|
||||
OwnerInfo oi = OwnerInfo.GetByItemID(pi.ItemID, CheckOutType.Procedure);
|
||||
MySessionInfo.CheckInItem(oi.OwnerID);
|
||||
}
|
||||
txtProcess.AppendText(sb.ToString());
|
||||
txtProcess.AppendText(Environment.NewLine);
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
@ -291,7 +419,10 @@ namespace VEPROMS
|
||||
txtResults.AppendText(myFixes.ToString());
|
||||
txtResults.AppendText(Environment.NewLine);
|
||||
}
|
||||
|
||||
public List<string> roFstInfo_ROTableUpdate(object sender, ROFstInfoROTableUpdateEventArgs args)
|
||||
{
|
||||
return VlnFlexGrid.ROTableUpdate(sender, args);
|
||||
}
|
||||
private void PopulateTransitionInfoLists(List<ProcedureInfo> pil)
|
||||
{
|
||||
Dictionary<int, int> dic = new Dictionary<int, int>();
|
||||
@ -355,8 +486,15 @@ namespace VEPROMS
|
||||
}
|
||||
private void Options_Changed(object sender, EventArgs e)
|
||||
{
|
||||
if ((sender as RadioButton).Checked)
|
||||
btnRefresh.Text = string.Format("Refresh {0}", (sender as RadioButton).Text);
|
||||
RadioButton rb = sender as RadioButton;
|
||||
if (rb.Checked)
|
||||
{
|
||||
btnRefresh.Text = (sender as RadioButton).Text;
|
||||
if (rb == rbUpdate)
|
||||
ResetTV(true);
|
||||
else
|
||||
ResetTV();
|
||||
}
|
||||
}
|
||||
private void myTV_AfterCheck(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user