B2016-130: Copy and paste replace steps causing missing and duplicate items in tree (problems with ‘NextItems’)
This commit is contained in:
@@ -142,7 +142,7 @@ namespace VEPROMS.CSLA.Library
|
||||
sb.Append(Counts<Membership>(Membership.CountNotDisposed, Membership.CountNotFinalized));
|
||||
sb.Append(Counts<MembershipInfo>(MembershipInfo.CountNotDisposed, MembershipInfo.CountNotFinalized));
|
||||
sb.Append(Counts<MembershipInfoList>(MembershipInfoList.CountNotDisposed, MembershipInfoList.CountNotFinalized));
|
||||
sb.Append(Counts<NextItems>(NextItems.CountNotDisposed, NextItems.CountNotFinalized));
|
||||
//sb.Append(Counts<NextItems>(NextItems.CountNotDisposed, NextItems.CountNotFinalized));
|
||||
sb.Append(Counts<Part>(Part.CountNotDisposed, Part.CountNotFinalized));
|
||||
sb.Append(Counts<PartAudit>(PartAudit.CountNotDisposed, PartAudit.CountNotFinalized));
|
||||
sb.Append(Counts<PartAuditInfo>(PartAuditInfo.CountNotDisposed, PartAuditInfo.CountNotFinalized));
|
||||
@@ -353,7 +353,7 @@ namespace VEPROMS.CSLA.Library
|
||||
sb.Append(Counts<Membership>(Membership.CountCreated, Membership.CountNotDisposed, Membership.CountNotFinalized));
|
||||
sb.Append(Counts<MembershipInfo>(MembershipInfo.CountCreated, MembershipInfo.CountNotDisposed, MembershipInfo.CountNotFinalized));
|
||||
sb.Append(Counts<MembershipInfoList>(MembershipInfoList.CountCreated, MembershipInfoList.CountNotDisposed, MembershipInfoList.CountNotFinalized));
|
||||
sb.Append(Counts<NextItems>(NextItems.CountCreated, NextItems.CountNotDisposed, NextItems.CountNotFinalized));
|
||||
//sb.Append(Counts<NextItems>(NextItems.CountCreated, NextItems.CountNotDisposed, NextItems.CountNotFinalized));
|
||||
sb.Append(Counts<Part>(Part.CountCreated, Part.CountNotDisposed, Part.CountNotFinalized));
|
||||
sb.Append(Counts<PartAudit>(PartAudit.CountCreated, PartAudit.CountNotDisposed, PartAudit.CountNotFinalized));
|
||||
sb.Append(Counts<PartAuditInfo>(PartAuditInfo.CountCreated, PartAuditInfo.CountNotDisposed, PartAuditInfo.CountNotFinalized));
|
||||
|
@@ -254,9 +254,7 @@ namespace VEPROMS.CSLA.Library
|
||||
{
|
||||
using (Item fromitem = previousInfo == null ? null : previousInfo.Get())
|
||||
{
|
||||
ItemInfo nextInfo = null; // Check to see if the item is being inserted in the middle of some items.
|
||||
if (previousInfo != null && previousInfo.NextItems != null && previousInfo.NextItems.Count > 0)
|
||||
nextInfo = previousInfo.NextItems[0];
|
||||
ItemInfo nextInfo = previousInfo.GetNext(); // Check to see if the item is being inserted in the middle of some items.
|
||||
using (Item itm = Item.MakeItem(fromitem, cont))
|
||||
{
|
||||
newitemid = itm.ItemID;
|
||||
@@ -1986,8 +1984,13 @@ namespace VEPROMS.CSLA.Library
|
||||
get
|
||||
{
|
||||
ItemInfo temp = this;
|
||||
while (temp.NextItems != null && temp.NextItems.Count > 0) temp = temp.NextItems[0];
|
||||
return temp;
|
||||
ItemInfo last = this;
|
||||
while (temp != null)
|
||||
{
|
||||
last = temp;
|
||||
temp = temp.GetNext();
|
||||
}
|
||||
return last;
|
||||
}
|
||||
}
|
||||
public ItemInfo LastChild(E_FromType partType)
|
||||
|
@@ -2056,9 +2056,7 @@ namespace VEPROMS.CSLA.Library
|
||||
get
|
||||
{
|
||||
if (PrintAllAtOnce) return GetNextItem();
|
||||
if (NextItemCount > 0 && NextItems != null && NextItems.Count > 0)
|
||||
return NextItems[0];
|
||||
return null;
|
||||
return GetNext();
|
||||
}
|
||||
}
|
||||
private static void ResetOrdinal(int itemID)
|
||||
@@ -2335,16 +2333,16 @@ namespace VEPROMS.CSLA.Library
|
||||
newItemInfo.UpdateROText();
|
||||
newItemInfo.UpdatePastedStepTransitionText();
|
||||
// Add to tree
|
||||
if (newItemInfo.NextItemCount > 0)
|
||||
if (newItemInfo.NextItem != null)
|
||||
{
|
||||
using (ItemInfo itm = ItemInfo.Get(newItemInfo.NextItem.ItemID))
|
||||
using (ItemInfo itm = ItemInfo.GetNonCached(newItemInfo.NextItem.ItemID))
|
||||
{
|
||||
itm.OnNewSiblingBefore(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Before));
|
||||
}
|
||||
}
|
||||
else if (newItemInfo.PreviousID != null)
|
||||
{
|
||||
using (ItemInfo itm2 = ItemInfo.Get((int)newItemInfo.PreviousID))
|
||||
using (ItemInfo itm2 = ItemInfo.GetNonCached((int)newItemInfo.PreviousID))
|
||||
{
|
||||
itm2.OnNewSiblingAfter(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.After));
|
||||
}
|
||||
|
Reference in New Issue
Block a user