changes to support approval process

This commit is contained in:
Rich 2012-01-23 13:56:23 +00:00
parent 58454f44aa
commit 21ba5556f7
2 changed files with 108 additions and 12 deletions

View File

@ -303,12 +303,12 @@ namespace Volian.Controls.Library
cnt.UserID = Volian.Base.Library.VlnSettings.UserID; cnt.UserID = Volian.Base.Library.VlnSettings.UserID;
cnt.Save(); cnt.Save();
} }
using (Item itm = Item.Get(startitm.ItemID)) //using (Item itm = Item.Get(startitm.ItemID))
{ //{
itm.DTS = DateTime.Now; // itm.DTS = DateTime.Now;
itm.UserID = Volian.Base.Library.VlnSettings.UserID; // itm.UserID = Volian.Base.Library.VlnSettings.UserID;
itm.Save(); // itm.Save();
} //}
startitm = (startitm.NextItem != null && startitm.NextItems.Count > 0 ? startitm.NextItems[0] : null); startitm = (startitm.NextItem != null && startitm.NextItems.Count > 0 ? startitm.NextItems[0] : null);
} }
msgBox = string.Format("All Step Types at this level were changed to {0}", listBoxStepTypes.Items[listBoxStepTypes.SelectedIndex]); msgBox = string.Format("All Step Types at this level were changed to {0}", listBoxStepTypes.Items[listBoxStepTypes.SelectedIndex]);
@ -322,12 +322,12 @@ namespace Volian.Controls.Library
cnt1.UserID = Volian.Base.Library.VlnSettings.UserID; cnt1.UserID = Volian.Base.Library.VlnSettings.UserID;
cnt1.Save(); cnt1.Save();
} }
using (Item itm1 = Item.Get(CurItemInfo.ItemID)) //using (Item itm1 = Item.Get(CurItemInfo.ItemID))
{ //{
itm1.DTS = DateTime.Now; // itm1.DTS = DateTime.Now;
itm1.UserID = Volian.Base.Library.VlnSettings.UserID; // itm1.UserID = Volian.Base.Library.VlnSettings.UserID;
itm1.Save(); // itm1.Save();
} //}
msgBox = string.Format("This Step Type was changed to {0}", listBoxStepTypes.Items[listBoxStepTypes.SelectedIndex]); msgBox = string.Format("This Step Type was changed to {0}", listBoxStepTypes.Items[listBoxStepTypes.SelectedIndex]);
} }
topEditItem.SetAllTabs(); topEditItem.SetAllTabs();

View File

@ -11,6 +11,8 @@ using System.Reflection;
using Csla; using Csla;
using Csla.Validation; using Csla.Validation;
using VEPROMS.CSLA.Library; using VEPROMS.CSLA.Library;
using System.IO;
using Volian.Base.Library;
namespace Volian.Controls.Library namespace Volian.Controls.Library
{ {
@ -330,6 +332,26 @@ namespace Volian.Controls.Library
{ {
if (PrintAllProcedures != null) PrintAllProcedures(sender, args); if (PrintAllProcedures != null) PrintAllProcedures(sender, args);
} }
public event vlnTreeViewEvent ApproveProcedure;
private void OnApproveProcedure(object sender, vlnTreeEventArgs args)
{
if (ApproveProcedure != null) ApproveProcedure(sender, args);
}
public event vlnTreeViewEvent ApproveAllProcedures;
private void OnApproveAllProcedures(object sender, vlnTreeEventArgs args)
{
if (ApproveAllProcedures != null) ApproveAllProcedures(sender, args);
}
public event vlnTreeViewEvent ApproveSomeProcedures;
private void OnApproveSomeProcedures(object sender, vlnTreeEventArgs args)
{
if (ApproveSomeProcedures != null) ApproveSomeProcedures(sender, args);
}
public event vlnTreeViewEvent ReportAllProceduresInconsistencies;
private void OnReportAllProceduresInconsistencies(object sender, vlnTreeEventArgs args)
{
if (ReportAllProceduresInconsistencies != null) ReportAllProceduresInconsistencies(sender, args);
}
public event vlnTreeViewEvent NodeNew; public event vlnTreeViewEvent NodeNew;
private void OnNodeNew(object sender, vlnTreeEventArgs args) private void OnNodeNew(object sender, vlnTreeEventArgs args)
{ {
@ -424,6 +446,9 @@ namespace Volian.Controls.Library
{ {
cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click)); cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click));
cm.MenuItems.Add("Print All Procedures", 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));
cm.MenuItems.Add("Report All Procedures Inconsistencies", new EventHandler(mi_Click));
} }
else if (tn.VEObject as ProcedureInfo != null) // Procs can only contain sections else if (tn.VEObject as ProcedureInfo != null) // Procs can only contain sections
{ {
@ -433,6 +458,8 @@ namespace Volian.Controls.Library
cm.MenuItems.Add("Insert Procedure After", 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("New Section", new EventHandler(mi_Click));
cm.MenuItems.Add("Print", new EventHandler(mi_Click)); 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) else if (tn.VEObject as SectionInfo != null)
{ {
@ -505,6 +532,63 @@ namespace Volian.Controls.Library
} }
} }
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
{
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
if (ril.Count == 0) return;
MenuItem mi = menuItemCollection.Add("Versions");
foreach (RevisionInfo ri in ril)
{
MenuItem mir = mi.MenuItems.Add(ri.ToString());
mir.Tag = ri;
mir.Click += new EventHandler(ApprovedRevision_Click);
//added jcb 20111031
MenuItem mirp = mir.MenuItems.Add("View Procedure");
mirp.Tag = ri;
mirp.Click += new EventHandler(ApprovedRevision_Click);
MenuItem mirs = mir.MenuItems.Add("View Summary of Changes");
mirs.Tag = ri;
mirs.Click += new EventHandler(SummaryOfChanges_Click);
//end added jcb 20111031
}
}
void ApprovedRevision_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
if (mi == null) return;
RevisionInfo ri = mi.Tag as RevisionInfo;
System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri));
}
void SummaryOfChanges_Click(object sender, EventArgs e)
{
MenuItem mi = sender as MenuItem;
if (mi == null) return;
RevisionInfo ri = mi.Tag as RevisionInfo;
System.Diagnostics.Process pps = System.Diagnostics.Process.Start(GetDocSummaryPdf(ri));
}
private string GetDocPdf(RevisionInfo ri)
{
string fileName = Volian.Base.Library.TmpFile.CreateFileName(ItemInfo.Get(ri.ItemID).DisplayNumber);
FileInfo fi = new FileInfo(VlnSettings.TemporaryFolder + @"\" + fileName);
FileStream fs = fi.Create();
byte[] myPdf = ri.LatestVersion.PDF;
if (myPdf != null) fs.Write(myPdf, 0, myPdf.Length);
fs.Close();
return VlnSettings.TemporaryFolder + @"\" + fileName;
}
private string GetDocSummaryPdf(RevisionInfo ri)
{
string fileName = Volian.Base.Library.TmpFile.CreateFileName(ItemInfo.Get(ri.ItemID).DisplayNumber + " Summary of Changes");
FileInfo fi = new FileInfo(VlnSettings.TemporaryFolder + @"\" + fileName);
FileStream fs = fi.Create();
byte[] myPdf = ri.LatestVersion.SummaryPDF;
if (myPdf != null) fs.Write(myPdf, 0, myPdf.Length);
fs.Close();
return VlnSettings.TemporaryFolder + @"\" + fileName;
}
private bool AddToInsertMenu(ItemInfo ii, int ba) // 0 = before, 1 = after private bool AddToInsertMenu(ItemInfo ii, int ba) // 0 = before, 1 = after
{ {
// set up insert buttons based on format // set up insert buttons based on format
@ -672,6 +756,18 @@ namespace Volian.Controls.Library
case "Print All Procedures": case "Print All Procedures":
OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;
case "Approve":
OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break;
case "Approve All Procedures":
OnApproveAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break;
case "Approve Some Procedures":
OnApproveSomeProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break;
case "Report All Procedures Inconsistencies":
OnReportAllProceduresInconsistencies(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break;
default: default:
MessageBox.Show(string.Format("Unrecognized Menu Item '{0}'", mi.Text)); MessageBox.Show(string.Format("Unrecognized Menu Item '{0}'", mi.Text));
break; break;