diff --git a/PROMS/VEPROMS User Interface/dlgExportImport.cs b/PROMS/VEPROMS User Interface/dlgExportImport.cs index cfe48ab7..4e5d604f 100644 --- a/PROMS/VEPROMS User Interface/dlgExportImport.cs +++ b/PROMS/VEPROMS User Interface/dlgExportImport.cs @@ -3123,33 +3123,35 @@ namespace VEPROMS CheckForFloatingFoldout(contentid, config); string userid = xc.Attributes.GetNamedItem("userid").InnerText; DateTime dts = DateTime.Parse(xc.Attributes.GetNamedItem("dts").InnerText); - step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Table); - step.DTS = dts; - step.UserID = userid; - // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) - XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to - string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; - if (formatid != string.Empty) - step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid),formatfilename); - step.MyContent.Config = config; - step.MyContent.DTS = dts; - step.MyContent.UserID = userid; - step.Save(); - if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) - Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); - if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) - Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); - if (xc.SelectNodes("grid").Count > 0) - AddGrid(step.MyContent, xc); - if (xn.SelectNodes("annotation").Count > 0) - AddAnnotations(step.ItemID, xn); - if (xc.SelectNodes("rousage").Count > 0) - AddROUsages(step.MyContent, xc); - if (xc.SelectNodes("transition").Count > 0) - AddTransitions(step.MyContent, xc); - prevInfo = StepInfo.Get(step.ItemID); - if (xc.HasChildNodes) - AddParts(xc, prevInfo); + using (step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Table)) + { + step.DTS = dts; + step.UserID = userid; + // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) + XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to + string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; + if (formatid != string.Empty) + step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); + step.MyContent.Config = config; + step.MyContent.DTS = dts; + step.MyContent.UserID = userid; + step.Save(); + if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) + Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); + if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) + Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); + if (xc.SelectNodes("grid").Count > 0) + AddGrid(step.MyContent, xc); + if (xn.SelectNodes("annotation").Count > 0) + AddAnnotations(step.ItemID, xn); + if (xc.SelectNodes("rousage").Count > 0) + AddROUsages(step.MyContent, xc); + if (xc.SelectNodes("transition").Count > 0) + AddTransitions(step.MyContent, xc); + prevInfo = StepInfo.Get(step.ItemID); + if (xc.HasChildNodes) + AddParts(xc, prevInfo); + } return prevInfo; } private void AddSteps(XmlNode xn, ItemInfo parentInfo) @@ -3212,31 +3214,33 @@ namespace VEPROMS CheckForFloatingFoldout(contentid, config); string userid = xc.Attributes.GetNamedItem("userid").InnerText; DateTime dts = DateTime.Parse(xc.Attributes.GetNamedItem("dts").InnerText); - step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Step); - step.DTS = dts; - step.UserID = userid; - // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) - XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to - string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; - if (formatid != string.Empty) - step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); - step.MyContent.Config = config; - step.MyContent.DTS = dts; - step.MyContent.UserID = userid; - step.Save(); - if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) - Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); - if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) - Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); - if (xn.SelectNodes("annotation").Count > 0) - AddAnnotations(step.ItemID, xn); - if (xc.SelectNodes("rousage").Count > 0) - AddROUsages(step.MyContent, xc); - if (xc.SelectNodes("transition").Count > 0) - AddTransitions(step.MyContent, xc); - prevInfo = StepInfo.Get(step.ItemID); - if (xc.HasChildNodes) - AddParts(xc, prevInfo); + using (step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Step)) + { + step.DTS = dts; + step.UserID = userid; + // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) + XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to + string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; + if (formatid != string.Empty) + step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); + step.MyContent.Config = config; + step.MyContent.DTS = dts; + step.MyContent.UserID = userid; + step.Save(); + if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) + Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); + if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) + Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); + if (xn.SelectNodes("annotation").Count > 0) + AddAnnotations(step.ItemID, xn); + if (xc.SelectNodes("rousage").Count > 0) + AddROUsages(step.MyContent, xc); + if (xc.SelectNodes("transition").Count > 0) + AddTransitions(step.MyContent, xc); + prevInfo = StepInfo.Get(step.ItemID); + if (xc.HasChildNodes) + AddParts(xc, prevInfo); + } return prevInfo; } private void AddRNOs(XmlNode xn, ItemInfo parentInfo) @@ -3300,31 +3304,33 @@ namespace VEPROMS CheckForFloatingFoldout(contentid, config); string userid = xc.Attributes.GetNamedItem("userid").InnerText; DateTime dts = DateTime.Parse(xc.Attributes.GetNamedItem("dts").InnerText); - step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.RNO); - step.DTS = dts; - step.UserID = userid; - // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) - XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to - string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; - if (formatid != string.Empty) - step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); - step.MyContent.Config = config; - step.MyContent.DTS = dts; - step.MyContent.UserID = userid; - step.Save(); - if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) - Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); - if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) - Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); - if (xn.SelectNodes("annotation").Count > 0) - AddAnnotations(step.ItemID, xn); - if (xc.SelectNodes("rousage").Count > 0) - AddROUsages(step.MyContent, xc); - if (xc.SelectNodes("transition").Count > 0) - AddTransitions(step.MyContent, xc); - prevInfo = StepInfo.Get(step.ItemID); - if (xc.HasChildNodes) - AddParts(xc, prevInfo); + using (step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.RNO)) + { + step.DTS = dts; + step.UserID = userid; + // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) + XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to + string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; + if (formatid != string.Empty) + step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); + step.MyContent.Config = config; + step.MyContent.DTS = dts; + step.MyContent.UserID = userid; + step.Save(); + if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) + Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); + if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) + Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); + if (xn.SelectNodes("annotation").Count > 0) + AddAnnotations(step.ItemID, xn); + if (xc.SelectNodes("rousage").Count > 0) + AddROUsages(step.MyContent, xc); + if (xc.SelectNodes("transition").Count > 0) + AddTransitions(step.MyContent, xc); + prevInfo = StepInfo.Get(step.ItemID); + if (xc.HasChildNodes) + AddParts(xc, prevInfo); + } return prevInfo; } private void AddNotes(XmlNode xn, ItemInfo parentInfo) @@ -3388,31 +3394,33 @@ namespace VEPROMS CheckForFloatingFoldout(contentid, config); string userid = xc.Attributes.GetNamedItem("userid").InnerText; DateTime dts = DateTime.Parse(xc.Attributes.GetNamedItem("dts").InnerText); - step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Note); - step.DTS = dts; - step.UserID = userid; - // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) - XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to - string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; - if (formatid != string.Empty) - step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); - step.MyContent.Config = config; - step.MyContent.DTS = dts; - step.MyContent.UserID = userid; - step.Save(); - if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) - Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); - if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) - Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); - if (xn.SelectNodes("annotation").Count > 0) - AddAnnotations(step.ItemID, xn); - if (xc.SelectNodes("rousage").Count > 0) - AddROUsages(step.MyContent, xc); - if (xc.SelectNodes("transition").Count > 0) - AddTransitions(step.MyContent, xc); - prevInfo = StepInfo.Get(step.ItemID); - if (xc.HasChildNodes) - AddParts(xc, prevInfo); + using (step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Note)) + { + step.DTS = dts; + step.UserID = userid; + // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) + XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to + string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; + if (formatid != string.Empty) + step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); + step.MyContent.Config = config; + step.MyContent.DTS = dts; + step.MyContent.UserID = userid; + step.Save(); + if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) + Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); + if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) + Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); + if (xn.SelectNodes("annotation").Count > 0) + AddAnnotations(step.ItemID, xn); + if (xc.SelectNodes("rousage").Count > 0) + AddROUsages(step.MyContent, xc); + if (xc.SelectNodes("transition").Count > 0) + AddTransitions(step.MyContent, xc); + prevInfo = StepInfo.Get(step.ItemID); + if (xc.HasChildNodes) + AddParts(xc, prevInfo); + } return prevInfo; } private void AddCautions(XmlNode xn, ItemInfo parentInfo) @@ -3476,31 +3484,33 @@ namespace VEPROMS CheckForFloatingFoldout(contentid, config); string userid = xc.Attributes.GetNamedItem("userid").InnerText; DateTime dts = DateTime.Parse(xc.Attributes.GetNamedItem("dts").InnerText); - step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Caution); - step.DTS = dts; - step.UserID = userid; - // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) - XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to - string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; - if (formatid != string.Empty) - step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); - step.MyContent.Config = config; - step.MyContent.DTS = dts; - step.MyContent.UserID = userid; - step.Save(); - if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) - Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); - if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) - Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); - if (xn.SelectNodes("annotation").Count > 0) - AddAnnotations(step.ItemID, xn); - if (xc.SelectNodes("rousage").Count > 0) - AddROUsages(step.MyContent, xc); - if (xc.SelectNodes("transition").Count > 0) - AddTransitions(step.MyContent, xc); - prevInfo = StepInfo.Get(step.ItemID); - if (xc.HasChildNodes) - AddParts(xc, prevInfo); + using (step = Step.MakeStep(parentInfo, prevInfo, number, text, steptype, E_FromType.Caution)) + { + step.DTS = dts; + step.UserID = userid; + // check for a null in case an older export file is being imported (the older files will not have the fromatfilename attribute) + XmlNode fnNode = xc.Attributes.GetNamedItem("formatfilename"); //Bug fix B2016-103 the formatid in an Export file may not match the formatid where you are importing to + string formatfilename = (fnNode != null) ? fnNode.InnerText : ""; + if (formatid != string.Empty) + step.MyContent.MyFormat = OldToNewFormat(int.Parse(formatid), formatfilename); + step.MyContent.Config = config; + step.MyContent.DTS = dts; + step.MyContent.UserID = userid; + step.Save(); + if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText))) + Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID); + if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText))) + Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID); + if (xn.SelectNodes("annotation").Count > 0) + AddAnnotations(step.ItemID, xn); + if (xc.SelectNodes("rousage").Count > 0) + AddROUsages(step.MyContent, xc); + if (xc.SelectNodes("transition").Count > 0) + AddTransitions(step.MyContent, xc); + prevInfo = StepInfo.Get(step.ItemID); + if (xc.HasChildNodes) + AddParts(xc, prevInfo); + } return prevInfo; } private void AddSections(XmlNode xn, ItemInfo parentInfo) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs index ceeb04f7..e9be667b 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/TransitionExt.cs @@ -1205,6 +1205,8 @@ namespace VEPROMS.CSLA.Library Dictionary rangeAncestors = GetAncestors(tb._RangeItem); tb.AppendPrefix(); bool usedRangeAncestor = false; + // Refresh Next Items + tb._ToItem.RefreshNextItems(); ItemInfo next = GetNextItem(tb._ToItem, rangeAncestors, ref usedRangeAncestor); string lastTab = Tab(tb._RangeItem, tb._RangeItem.ActiveFormat.PlantFormat.FormatData.TransData.TStepNoFlag); while (next.ItemID != tb._RangeItem.ItemID)