Added Unit and UnitIndex properties to vlnTreeEventArgs class

Add overloaded constructor to vlnTreeEventArgs class to include unit and unitindex parameters
Add multi unit specific menu items for approving and printing procedures when doc version node is selected
Added required closing brace
Add multi unit specific menu items for approving and printing procedures when procedure node is selected
Added method AddApprovedRevisionsMultiUnit to vlnTreeView class
Added event handler when selecting a unit specific approved revision
Added event handler when selecting a unit specific summary of changes report
Added event handler when selecting a unit specific approval or printing of procedure
This commit is contained in:
Rich 2012-12-04 23:10:02 +00:00
parent d29f45d322
commit b3c31db10d

View File

@ -101,6 +101,20 @@ namespace Volian.Controls.Library
get { return _Index; }
set { _Index = value; }
}
//jcb multiunit
private string _Unit;
public string Unit
{
get { return _Unit; }
set { _Unit = value; }
}
private int _UnitIndex = -1;
public int UnitIndex
{
get { return _UnitIndex; }
set { _UnitIndex = value; }
}
//end jcb multiunit
#endregion
#region Factory Methods
private vlnTreeEventArgs() { ;}
@ -114,6 +128,16 @@ namespace Volian.Controls.Library
_Destination = destination;
_Index = index;
}
//jcb multiunit
public vlnTreeEventArgs(TreeNode node, TreeNode destination, int index, string unit, int unitIndex)
{
_Node = node;
_Destination = destination;
_Index = index;
_Unit = unit;
_UnitIndex = unitIndex;
}
//end jcb multiunit
#endregion
}
public partial class vlnTreeItemInfoEventArgs
@ -479,9 +503,39 @@ namespace Volian.Controls.Library
else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs
{
cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click));
cm.MenuItems.Add("Print All Procedures", new EventHandler(mi_Click));
cm.MenuItems.Add("Approve All Procedures", new EventHandler(mi_Click));
cm.MenuItems.Add("Approve Some Procedures", new EventHandler(mi_Click));
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
if (dvi.MultiUnitCount > 1)
{
MenuItem mip = new MenuItem("Print All Procedures for");
MenuItem mia= new MenuItem("Approve All Procedures for");
MenuItem mis = new MenuItem("Approve Some Procedures for");
int k = 0;
foreach (string s in dvi.UnitNames)
{
k++;
MenuItem mp = mip.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mp.Tag = k;
MenuItem ma = mia.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
ma.Tag = k;
MenuItem ms = mis.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
ms.Tag = k;
}
//MenuItem mmp = mip.MenuItems.Add("All Units", new EventHandler(miMultiUnit_Click));
//mmp.Tag = 0;
//MenuItem mma = mia.MenuItems.Add("All Units", new EventHandler(miMultiUnit_Click));
//mma.Tag = 0;
//MenuItem mms = mis.MenuItems.Add("All Units", new EventHandler(miMultiUnit_Click));
//mms.Tag = 0;
cm.MenuItems.Add(mip);
cm.MenuItems.Add(mia);
cm.MenuItems.Add(mis);
}
else
{
cm.MenuItems.Add("Print All Procedures", new EventHandler(mi_Click));
cm.MenuItems.Add("Approve All Procedures", new EventHandler(mi_Click));
cm.MenuItems.Add("Approve Some Procedures", new EventHandler(mi_Click));
}
cm.MenuItems.Add("Report All Procedures Inconsistencies", new EventHandler(mi_Click));
}
else if (tn.VEObject as ProcedureInfo != null) // Procs can only contain sections
@ -491,9 +545,29 @@ namespace Volian.Controls.Library
cm.MenuItems.Add("Insert Procedure Before", new EventHandler(mi_Click));
cm.MenuItems.Add("Insert Procedure After", new EventHandler(mi_Click));
cm.MenuItems.Add("New Section", new EventHandler(mi_Click));
cm.MenuItems.Add("Print", new EventHandler(mi_Click));
cm.MenuItems.Add("Approve", new EventHandler(mi_Click));
AddApprovedRevisions(cm.MenuItems, pri);
if (pri.MyDocVersion.MultiUnitCount > 1)
{
MenuItem mip = new MenuItem("Print");
MenuItem mia = new MenuItem("Approve");
int k = 0;
foreach (string s in pri.MyDocVersion.UnitNames)
{
k++;
MenuItem mp = mip.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
mp.Tag = k;
MenuItem ma = mia.MenuItems.Add(s, new EventHandler(miMultiUnit_Click));
ma.Tag = k;
}
cm.MenuItems.Add(mip);
cm.MenuItems.Add(mia);
AddApprovedRevisionsMultiUnit(cm.MenuItems, pri);
}
else
{
cm.MenuItems.Add("Print", new EventHandler(mi_Click));
cm.MenuItems.Add("Approve", new EventHandler(mi_Click));
AddApprovedRevisions(cm.MenuItems, pri);
}
}
else if (tn.VEObject as SectionInfo != null)
{
@ -578,6 +652,43 @@ namespace Volian.Controls.Library
}
}
private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
{
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
if (ril.Count == 0) return;
MenuItem mi = menuItemCollection.Add("Versions");
int k = 0;
int lastApprovedRevisionID = 0;
foreach (string s in pri.MyDocVersion.UnitNames)
{
k++;
MenuItem mv = mi.MenuItems.Add(s);
mv.Tag = k;
ril = RevisionInfoList.GetByItemIDandUnitID(pri.ItemID, k);
foreach (RevisionInfo ri in ril)
{
MenuItem mir = mv.MenuItems.Add(ri.ToString());
mir.Tag = ri;
if (ri.LatestVersion.MyStage.IsApproved > 0 && (ri.RevisionID > lastApprovedRevisionID))
lastApprovedRevisionID = ri.RevisionID;
if (ri.LatestVersion.PDF != null)
{
MenuItem mirp = mir.MenuItems.Add("View Procedure");
mirp.Tag = ri;
mirp.Click += new EventHandler(MultiUnitApprovedRevision_Click);
}
if (ri.LatestVersion.SummaryPDF != null)
{
MenuItem mirs = mir.MenuItems.Add("View Summary of Changes");
mirs.Tag = ri;
mirs.Click += new EventHandler(MultiUnitSummaryOfChanges_Click);
}
//end added jcb 20111031
mv.Tag = lastApprovedRevisionID;
}
}
}
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
{
RevisionInfoList ril = null;
@ -632,6 +743,23 @@ namespace Volian.Controls.Library
OnViewPDF(sender, args);
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
}
void MultiUnitApprovedRevision_Click(object sender, EventArgs e)
{
bool superceded = false;
MenuItem mi = sender as MenuItem;
if (mi == null) return;
RevisionInfo ri = mi.Tag as RevisionInfo;
{
MenuItem mip = mi.Parent as MenuItem;
if (ri.RevisionID < int.Parse(mip.Parent.Tag.ToString()))
superceded = true;
}
ItemInfo ii = ItemInfo.Get(ri.ItemID);
ii.MyDocVersion.DocVersionConfig.SelectedSlave = ri.MyConfig.Applicability_Index;
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ii.DisplayNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
OnViewPDF(sender, args);
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
}
void SummaryOfChanges_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
@ -641,6 +769,17 @@ namespace Volian.Controls.Library
OnViewPDF(sender, args);
// System.Diagnostics.Process pps = System.Diagnostics.Process.Start(GetDocSummaryPdf(ri));
}
void MultiUnitSummaryOfChanges_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
if (mi == null) return;
RevisionInfo ri = mi.Tag as RevisionInfo;
ItemInfo ii = ItemInfo.Get(ri.ItemID);
ii.MyDocVersion.DocVersionConfig.SelectedSlave = ri.MyConfig.Applicability_Index;
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ii.DisplayNumber + " Summary of Changes"), ri.LatestVersion.SummaryPDF, "");
OnViewPDF(sender, args);
// System.Diagnostics.Process pps = System.Diagnostics.Process.Start(GetDocSummaryPdf(ri));
}
//private string GetDocPdf(RevisionInfo ri, bool superceded)
//{
// string fileName = Volian.Base.Library.TmpFile.CreateFileName(ItemInfo.Get(ri.ItemID).DisplayNumber);
@ -735,7 +874,34 @@ namespace Volian.Controls.Library
}
#endregion
}
//jcb multiunit
void miMultiUnit_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
MenuItem mip = mi.Parent as MenuItem;
switch (mip.Text)
{
case "Print":
OnPrintProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break;
case "Print All Procedures for":
OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0,mi.Text,(int)mi.Tag));
break;
case "Approve":
OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break;
case "Approve All Procedures for":
OnApproveAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break;
case "Approve Some Procedures for":
OnApproveSomeProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break;
default:
MessageBox.Show(string.Format("Unrecognized Menu Item '{0}'", mip.Text));
break;
}
}
//end jcb multiunit
void mi_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;