From 006d194d0151ba6355b788d88cd7a9e9d2970665 Mon Sep 17 00:00:00 2001 From: Kathy Date: Fri, 12 Feb 2016 16:35:15 +0000 Subject: [PATCH] Fix B2016-034: New Procedure/New Word Section creation causes new procedure to disappear from tree view --- .../Generated/DocVersionInfo.cs | 2 +- .../Generated/ItemInfo.cs | 22 +++++++++++++++++-- PROMS/Volian.Controls.Library/vlnTreeView.cs | 4 ++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/DocVersionInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/DocVersionInfo.cs index aee2453b..79fb87f9 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/DocVersionInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/DocVersionInfo.cs @@ -173,7 +173,7 @@ namespace VEPROMS.CSLA.Library get { CanReadProperty("MyItem", true); - if (_MyItem == null && _ItemID != null) _MyItem = ItemInfo.Get((int)_ItemID); + if (_MyItem == null && _ItemID != null) _MyItem = ProcedureInfo.Get((int)_ItemID); return _MyItem; } } diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs index 120b261e..705749f4 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/ItemInfo.cs @@ -128,7 +128,17 @@ namespace VEPROMS.CSLA.Library get { CanReadProperty("MyPrevious", true); - if (_MyPrevious == null && _PreviousID != null) _MyPrevious = ItemInfo.Get((int)_PreviousID); + if (_MyPrevious == null && _PreviousID != null) + { + if (this is ProcedureInfo) + _MyPrevious = ProcedureInfo.Get((int)_PreviousID); + else if (this is SectionInfo) + _MyPrevious = SectionInfo.Get((int)_PreviousID); + else if (this is StepInfo) + _MyPrevious = StepInfo.Get((int)_PreviousID); + else + _MyPrevious = ItemInfo.Get((int)_PreviousID); + } return _MyPrevious; } set @@ -430,7 +440,15 @@ namespace VEPROMS.CSLA.Library #region Factory Methods private static int _ItemInfoUnique = 0; private static int ItemInfoUnique - { get { return ++_ItemInfoUnique; } } + { + get + { + int ui = ++_ItemInfoUnique; + //Useful for debug to identify where item is being created: + //if (ui == 73) Console.WriteLine("here"); + return ui; + } + } private int _MyItemInfoUnique = ItemInfoUnique; public int MyItemInfoUnique // Absolutely Unique ID - Info { get { return _MyItemInfoUnique; } } diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 633e5170..e9180ed4 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -2203,6 +2203,8 @@ namespace Volian.Controls.Library procedure.Save(); tn = new VETreeNode(_LastProcedureInfo); SelectedNode.Nodes.Add(tn); // add tree node to end of list. + // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) + if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures(); if (procedure.MyProcedureInfo.CreateEnhanced) { procedure.MyProcedureInfo.CreateEnhanced = false; @@ -2232,6 +2234,8 @@ namespace Volian.Controls.Library tn = new VETreeNode(_LastProcedureInfo); TreeNode par = SelectedNode.Parent; par.Nodes.Insert(tvindex + ((newtype == MenuSelections.ProcedureBefore) ? 0 : 1), tn); + // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) + if (((par as VETreeNode).VEObject as DocVersionInfo) != null) ((par as VETreeNode).VEObject as DocVersionInfo).ResetProcedures(); if (procedure.MyProcedureInfo.CreateEnhanced) { procedure.MyProcedureInfo.CreateEnhanced = false;