diff --git a/PROMS/Volian.Controls.Library/DisplayTags.cs b/PROMS/Volian.Controls.Library/DisplayTags.cs index 532fdb75..205d8410 100644 --- a/PROMS/Volian.Controls.Library/DisplayTags.cs +++ b/PROMS/Volian.Controls.Library/DisplayTags.cs @@ -303,12 +303,12 @@ namespace Volian.Controls.Library cnt.UserID = Volian.Base.Library.VlnSettings.UserID; cnt.Save(); } - using (Item itm = Item.Get(startitm.ItemID)) - { - itm.DTS = DateTime.Now; - itm.UserID = Volian.Base.Library.VlnSettings.UserID; - itm.Save(); - } + //using (Item itm = Item.Get(startitm.ItemID)) + //{ + // itm.DTS = DateTime.Now; + // itm.UserID = Volian.Base.Library.VlnSettings.UserID; + // itm.Save(); + //} 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]); @@ -322,12 +322,12 @@ namespace Volian.Controls.Library cnt1.UserID = Volian.Base.Library.VlnSettings.UserID; cnt1.Save(); } - using (Item itm1 = Item.Get(CurItemInfo.ItemID)) - { - itm1.DTS = DateTime.Now; - itm1.UserID = Volian.Base.Library.VlnSettings.UserID; - itm1.Save(); - } + //using (Item itm1 = Item.Get(CurItemInfo.ItemID)) + //{ + // itm1.DTS = DateTime.Now; + // itm1.UserID = Volian.Base.Library.VlnSettings.UserID; + // itm1.Save(); + //} msgBox = string.Format("This Step Type was changed to {0}", listBoxStepTypes.Items[listBoxStepTypes.SelectedIndex]); } topEditItem.SetAllTabs(); diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 589f990e..90515733 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -11,6 +11,8 @@ using System.Reflection; using Csla; using Csla.Validation; using VEPROMS.CSLA.Library; +using System.IO; +using Volian.Base.Library; namespace Volian.Controls.Library { @@ -330,6 +332,26 @@ namespace Volian.Controls.Library { 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; 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("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 { @@ -433,6 +458,8 @@ namespace Volian.Controls.Library 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); } 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 { // set up insert buttons based on format @@ -672,6 +756,18 @@ namespace Volian.Controls.Library case "Print All Procedures": OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); 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: MessageBox.Show(string.Format("Unrecognized Menu Item '{0}'", mi.Text)); break;