|
|
|
@@ -18,6 +18,11 @@ namespace VEPROMS
|
|
|
|
|
{
|
|
|
|
|
private bool _ConvertROsToTextDuringImport = false;
|
|
|
|
|
private bool _ConvertROsAndTransitionsToText = false; // set to true when Approval creates an Export file
|
|
|
|
|
|
|
|
|
|
// B2016-225 notify user when Transitions and/or ROs are converted to text
|
|
|
|
|
private bool _DidConvertTransitionsToText = false;
|
|
|
|
|
private bool _DidConvertROsToText = false;
|
|
|
|
|
|
|
|
|
|
private ItemInfo _ExternalTransitionItem = null;
|
|
|
|
|
public ItemInfo ExternalTransitionItem
|
|
|
|
|
{
|
|
|
|
@@ -139,6 +144,7 @@ namespace VEPROMS
|
|
|
|
|
private void btnDoExport_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
btnExport.Enabled = false;
|
|
|
|
|
string msg = "Finished Exporting:\n\n";
|
|
|
|
|
if (MyFolder != null)
|
|
|
|
|
{
|
|
|
|
|
this.Cursor = Cursors.WaitCursor;
|
|
|
|
@@ -151,6 +157,7 @@ namespace VEPROMS
|
|
|
|
|
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
|
|
|
|
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
|
|
|
|
|
this.Cursor = Cursors.Default;
|
|
|
|
|
msg += MyFolder.Name;
|
|
|
|
|
}
|
|
|
|
|
else if (MyProcedure != null)
|
|
|
|
|
{
|
|
|
|
@@ -166,7 +173,10 @@ namespace VEPROMS
|
|
|
|
|
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
|
|
|
|
|
this.Cursor = Cursors.Default;
|
|
|
|
|
}
|
|
|
|
|
btnCloseExport.Enabled = true;
|
|
|
|
|
// added message to user when export of a procedure or procedure set has completed
|
|
|
|
|
msg += MyProcedure;
|
|
|
|
|
MessageBox.Show(msg, "Export", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
|
btnCloseExport.Enabled = true;
|
|
|
|
|
}
|
|
|
|
|
private void SaveExportData()
|
|
|
|
|
{
|
|
|
|
@@ -195,6 +205,8 @@ namespace VEPROMS
|
|
|
|
|
MyStart = DateTime.Now;
|
|
|
|
|
btnDoImport.Enabled = false;
|
|
|
|
|
lblImportStatus.Text = "Performing Import";
|
|
|
|
|
_DidConvertTransitionsToText = false;
|
|
|
|
|
_DidConvertROsToText = false;
|
|
|
|
|
//LoadImportDataReader();
|
|
|
|
|
if (MyFolder != null) // import a folder - a .expx file
|
|
|
|
|
{
|
|
|
|
@@ -390,7 +402,17 @@ namespace VEPROMS
|
|
|
|
|
this.Cursor = Cursors.Default;
|
|
|
|
|
btnCloseImport.Enabled = true;
|
|
|
|
|
if (isImported)
|
|
|
|
|
MessageBox.Show(string.Format("Finished Importing:\n\n{0}",txtImport.Text.Substring(txtImport.Text.LastIndexOf("\\")+1)),"Import",MessageBoxButtons.OK,MessageBoxIcon.Information);
|
|
|
|
|
{
|
|
|
|
|
string msg = string.Format("Finished Importing:\n\n{0}", txtImport.Text.Substring(txtImport.Text.LastIndexOf("\\") + 1));
|
|
|
|
|
if (_DidConvertTransitionsToText || _DidConvertROsToText)
|
|
|
|
|
{
|
|
|
|
|
string msg1 = (_DidConvertTransitionsToText && _DidConvertROsToText)?"Transitions and Referenced Objects":(_DidConvertTransitionsToText)?"Transitions":"Referenced Objects";
|
|
|
|
|
msg += string.Format("\n\n{0} converted to text.\n\nThe locations can be found by doing a Global Search for the \"Link Converted To Text\" annotation type",msg1);
|
|
|
|
|
}
|
|
|
|
|
// B2016-225 added more information to the finish import message to tell the user when ROs or Transitions are converted to text.
|
|
|
|
|
MessageBox.Show(msg, "Import", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
|
//MessageBox.Show(string.Format("Finished Importing:\n\n{0}", txtImport.Text.Substring(txtImport.Text.LastIndexOf("\\") + 1)), "Import", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
|
|
|
}
|
|
|
|
|
if (canceledPressed)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show(string.Format("Canceling the import of:\n\n{0}",txtImport.Text.Substring(txtImport.Text.LastIndexOf("\\")+1)),"Import",MessageBoxButtons.OK,MessageBoxIcon.Information);
|
|
|
|
@@ -542,6 +564,7 @@ namespace VEPROMS
|
|
|
|
|
xd = new XmlDocument();
|
|
|
|
|
xd.Load(fn);
|
|
|
|
|
pi = AddProcedure(xd.DocumentElement, dvi, pi);
|
|
|
|
|
GC.Collect(); // need to cleanup memory after importing each procedure due to use of Regular Expressions in processing RO and Transition links
|
|
|
|
|
}
|
|
|
|
|
DirectoryInfo di = new DirectoryInfo(PEIPath);
|
|
|
|
|
DirectoryInfo[] dis = di.GetDirectories();
|
|
|
|
@@ -550,7 +573,7 @@ namespace VEPROMS
|
|
|
|
|
lblImportStatus.Text = "Updating Transitions";
|
|
|
|
|
AddTransitions();
|
|
|
|
|
FixFloatingFoldouts();
|
|
|
|
|
SaveTransitionAndItemContentIDs();
|
|
|
|
|
SaveTransitionAndItemContentIDs();
|
|
|
|
|
}
|
|
|
|
|
private void FixSectionStart(ProcedureInfo pi)
|
|
|
|
|
{
|
|
|
|
@@ -977,42 +1000,45 @@ namespace VEPROMS
|
|
|
|
|
string fn = PEIPath + @"\items.xml";
|
|
|
|
|
XmlDocument xd = new XmlDocument();
|
|
|
|
|
xd.Load(fn);
|
|
|
|
|
XmlNodeList nl = xd.SelectNodes("//item");
|
|
|
|
|
foreach (XmlNode nd in nl)
|
|
|
|
|
{
|
|
|
|
|
int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
|
|
|
|
int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
|
|
|
|
//if (!Old2NewItem.ContainsKey(oldid))
|
|
|
|
|
Old2NewItem.Add(oldid, newid);
|
|
|
|
|
}
|
|
|
|
|
// B2016-176, B2016-197 Transitions were no always properly resolved - don't load in the old item ids
|
|
|
|
|
//XmlNodeList nl = xd.SelectNodes("//item");
|
|
|
|
|
//foreach (XmlNode nd in nl)
|
|
|
|
|
//{
|
|
|
|
|
// int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
|
|
|
|
// int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
|
|
|
|
// //if (!Old2NewItem.ContainsKey(oldid))
|
|
|
|
|
// Old2NewItem.Add(oldid, newid);
|
|
|
|
|
//}
|
|
|
|
|
File.Delete(fn);
|
|
|
|
|
ze = MyImpxZipFile["contents.xml"];
|
|
|
|
|
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
|
|
|
|
fn = PEIPath + @"\contents.xml";
|
|
|
|
|
xd = new XmlDocument();
|
|
|
|
|
xd.Load(fn);
|
|
|
|
|
nl = xd.SelectNodes("//content");
|
|
|
|
|
foreach (XmlNode nd in nl)
|
|
|
|
|
{
|
|
|
|
|
int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
|
|
|
|
int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
|
|
|
|
//if (!Old2NewContent.ContainsKey(oldid))
|
|
|
|
|
Old2NewContent.Add(oldid, newid);
|
|
|
|
|
}
|
|
|
|
|
// B2016-176, B2016-197 Transitions were no always properly resolved - don't load in the old content ids
|
|
|
|
|
//nl = xd.SelectNodes("//content");
|
|
|
|
|
//foreach (XmlNode nd in nl)
|
|
|
|
|
//{
|
|
|
|
|
// int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
|
|
|
|
// int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
|
|
|
|
// //if (!Old2NewContent.ContainsKey(oldid))
|
|
|
|
|
// Old2NewContent.Add(oldid, newid);
|
|
|
|
|
//}
|
|
|
|
|
File.Delete(fn);
|
|
|
|
|
ze = MyImpxZipFile["libdocs.xml"];
|
|
|
|
|
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
|
|
|
|
fn = PEIPath + @"\libdocs.xml";
|
|
|
|
|
xd = new XmlDocument();
|
|
|
|
|
xd.Load(fn);
|
|
|
|
|
nl = xd.SelectNodes("//libdoc");
|
|
|
|
|
foreach (XmlNode nd in nl)
|
|
|
|
|
{
|
|
|
|
|
int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
|
|
|
|
int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
|
|
|
|
//if (!Old2NewContent.ContainsKey(oldid))
|
|
|
|
|
Old2NewLibDoc.Add(oldid, newid);
|
|
|
|
|
}
|
|
|
|
|
XmlNodeList nl = xd.SelectNodes("//libdoc");
|
|
|
|
|
//nl = xd.SelectNodes("//libdoc");
|
|
|
|
|
foreach (XmlNode nd in nl)
|
|
|
|
|
{
|
|
|
|
|
int oldid = int.Parse(nd.Attributes.GetNamedItem("old").InnerText);
|
|
|
|
|
int newid = int.Parse(nd.Attributes.GetNamedItem("new").InnerText);
|
|
|
|
|
//if (!Old2NewContent.ContainsKey(oldid))
|
|
|
|
|
Old2NewLibDoc.Add(oldid, newid);
|
|
|
|
|
}
|
|
|
|
|
File.Delete(fn);
|
|
|
|
|
ze = MyImpxZipFile["transitions.xml"];
|
|
|
|
|
ze.Extract(PEIPath, ExtractExistingFileAction.OverwriteSilently);
|
|
|
|
@@ -1173,8 +1199,8 @@ namespace VEPROMS
|
|
|
|
|
string fn = string.Format(@"{0}\{1}.impx", PEIPath, dn);
|
|
|
|
|
if (File.Exists(fn))
|
|
|
|
|
{
|
|
|
|
|
MyImpxZipFile = ZipFile.Read(fn, ro);
|
|
|
|
|
ReadTransitionAndItemContentIDs();
|
|
|
|
|
MyImpxZipFile = ZipFile.Read(fn, ro);
|
|
|
|
|
ReadTransitionAndItemContentIDs();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@@ -2715,22 +2741,25 @@ namespace VEPROMS
|
|
|
|
|
SectionConfig sc = TransitionInfo.Get(tt.TransitionID).MyItemToID.ActiveSection.MyConfig as SectionConfig;
|
|
|
|
|
forceConvertToText = (sc.SubSection_Edit == "N");
|
|
|
|
|
}
|
|
|
|
|
if (!forceConvertToText) //check to see if external with internal format
|
|
|
|
|
{
|
|
|
|
|
TransitionInfo tran = TransitionInfo.Get(transitionid);
|
|
|
|
|
if (tran.MyContent.ContentItems[0].MyProcedure.ItemID != tran.MyItemToID.MyProcedure.ItemID)
|
|
|
|
|
if (!tran.MyContent.ContentItems[0].ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[tran.TranType].TransMenu.Contains("Proc"))
|
|
|
|
|
forceConvertToText = true;
|
|
|
|
|
}
|
|
|
|
|
if (!forceConvertToText) //check to see if external to different doc version
|
|
|
|
|
{
|
|
|
|
|
TransitionInfo tran = TransitionInfo.Get(transitionid);
|
|
|
|
|
if (tran.MyContent.ContentItems[0].MyDocVersion.VersionID != tran.MyItemToID.MyDocVersion.VersionID)
|
|
|
|
|
forceConvertToText = true;
|
|
|
|
|
}
|
|
|
|
|
// B2016-176, B2016197 - external transitions should be convert to text
|
|
|
|
|
forceConvertToText = true;
|
|
|
|
|
//if (!forceConvertToText) //check to see if external with internal format
|
|
|
|
|
//{
|
|
|
|
|
// TransitionInfo tran = TransitionInfo.Get(transitionid);
|
|
|
|
|
// if (tran.MyContent.ContentItems[0].MyProcedure.ItemID != tran.MyItemToID.MyProcedure.ItemID)
|
|
|
|
|
// if (!tran.MyContent.ContentItems[0].ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[tran.TranType].TransMenu.Contains("Proc"))
|
|
|
|
|
// forceConvertToText = true;
|
|
|
|
|
//}
|
|
|
|
|
//if (!forceConvertToText) //check to see if external to different doc version
|
|
|
|
|
//{
|
|
|
|
|
// TransitionInfo tran = TransitionInfo.Get(transitionid);
|
|
|
|
|
// if (tran.MyContent.ContentItems[0].MyDocVersion.VersionID != tran.MyItemToID.MyDocVersion.VersionID)
|
|
|
|
|
// forceConvertToText = true;
|
|
|
|
|
//}
|
|
|
|
|
cc.FixTransitionText(TransitionInfo.Get(tt.TransitionID), forceConvertToText);
|
|
|
|
|
cc.Save();
|
|
|
|
|
nd.InnerText = "done";
|
|
|
|
|
_DidConvertTransitionsToText |= forceConvertToText; // B2016-225 - notify user when transitions are converted to text
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -3054,8 +3083,12 @@ namespace VEPROMS
|
|
|
|
|
p.Save();
|
|
|
|
|
if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)))
|
|
|
|
|
Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), p.ItemID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewItem[int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)] = p.ItemID; // B2016-176, B2016-197 refresh saved ItemId with current ItemID
|
|
|
|
|
if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)))
|
|
|
|
|
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), p.MyContent.ContentID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewContent[int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)] = p.MyContent.ContentID; // B2016-176, B2016-197 refresh saved ContentID with current ContentID
|
|
|
|
|
if (xn.SelectNodes("annotation").Count > 0)
|
|
|
|
|
AddAnnotations(p.ItemID, xn);
|
|
|
|
|
if (xc.SelectNodes("rousage").Count > 0)
|
|
|
|
@@ -3118,7 +3151,6 @@ namespace VEPROMS
|
|
|
|
|
}
|
|
|
|
|
private void ConvertImportProcedureROsToText(Content content, XmlNode xn)
|
|
|
|
|
{
|
|
|
|
|
string newvalue = "";
|
|
|
|
|
foreach (XmlNode nd in xn.SelectNodes("rousage"))
|
|
|
|
|
{
|
|
|
|
|
string rousageid = nd.Attributes.GetNamedItem("rousageid").InnerText;
|
|
|
|
@@ -3160,13 +3192,53 @@ namespace VEPROMS
|
|
|
|
|
else
|
|
|
|
|
part3 = suffix.Replace(@"\v0", "") + part3.Substring(suffix.Length);
|
|
|
|
|
content.Text = part1 + part2 + part3;
|
|
|
|
|
break; // Text has been processed
|
|
|
|
|
ROToTextAnnotation(content, part2); // B2016-225 (follow through) add annotation when RO is converted to text
|
|
|
|
|
}
|
|
|
|
|
lastIndex = mm.Index + mm.Length;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
content.Save();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// B2016-225 (follow through) add annotation when RO is converted to text
|
|
|
|
|
private void ROToTextAnnotation(Content content, string txtRO)
|
|
|
|
|
{
|
|
|
|
|
// replace unicode symbols to DOS code symbols
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8209?", "-"); // dash
|
|
|
|
|
txtRO = txtRO.Replace(@"\u9586?", @"\\"); // backslash
|
|
|
|
|
txtRO = txtRO.Replace(@"\'b0", "\xb0"); //degree
|
|
|
|
|
txtRO = txtRO.Replace(@"\u160?"," "); //hard space
|
|
|
|
|
txtRO = txtRO.Replace(@"\u916?", "\x7F"); // delta
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8805?", "\xF2"); //greater than or equal
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8804?", "\xF3"); // less than or equal
|
|
|
|
|
txtRO = txtRO.Replace(@"\u931?", "\xE4"); // sigma
|
|
|
|
|
txtRO = txtRO.Replace(@"\u947?", "\xE7"); // gamma
|
|
|
|
|
txtRO = txtRO.Replace(@"\u9604?", "\xFE"); // accum 2584
|
|
|
|
|
txtRO = txtRO.Replace(@"\u9679?", "\x7"); // bullet 25CF
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8776?", "\xF7"); // approx eq
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8773?", "\xF0"); // similar eq 2245
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8730?", "\xFB"); // square root
|
|
|
|
|
txtRO = txtRO.Replace(@"\u961?", "\xE2"); // rho 3C1
|
|
|
|
|
txtRO = txtRO.Replace(@"\u960?", "\xE3"); // pi
|
|
|
|
|
txtRO = txtRO.Replace(@"\u956?", "\xE6"); // micro
|
|
|
|
|
txtRO = txtRO.Replace(@"\u948?", "\xEB"); // lower case delta
|
|
|
|
|
txtRO = txtRO.Replace(@"\u963?", "\xE5"); // lower case sigma
|
|
|
|
|
txtRO = txtRO.Replace(@"\u274?", "\x90"); // energy, 112
|
|
|
|
|
txtRO = txtRO.Replace(@"\u949?", "\xEE"); // epsilon
|
|
|
|
|
txtRO = txtRO.Replace(@"\u952?", "\xE9"); // theta, 3B8
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8857?", "\xEC"); // dot in oval, 2299
|
|
|
|
|
txtRO = txtRO.Replace(@"\u964?", "\xA8"); // tau, 3C4
|
|
|
|
|
txtRO = txtRO.Replace(@"\u9830?", "\xA9"); // diamond, 2666
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8593?", "\x18"); // Up Arrow - changes to \xff
|
|
|
|
|
txtRO = txtRO.Replace(@"\u8595?", "\x19"); // Down Arrow - changes to \xd6
|
|
|
|
|
|
|
|
|
|
Item myitem = content.ContentItems[0].MyItem; // The Using statement caused the content.text to disappear
|
|
|
|
|
//using (Item myitem = content.ContentItems[0].MyItem) // so that myitem does not stay in cache
|
|
|
|
|
//{
|
|
|
|
|
Annotation.MakeAnnotation(myitem, AnnotationType.GetByNameOrCreate("Link Converted To Text"), "", string.Format("RO value ({0}) converted to text", txtRO), null);
|
|
|
|
|
//}
|
|
|
|
|
_DidConvertROsToText |= true;
|
|
|
|
|
}
|
|
|
|
|
private void AddROUsages(Content content, XmlNode xn)
|
|
|
|
|
{
|
|
|
|
|
if (_ConvertROsToTextDuringImport)
|
|
|
|
@@ -3187,6 +3259,8 @@ namespace VEPROMS
|
|
|
|
|
if (roval == "?")
|
|
|
|
|
{
|
|
|
|
|
RoUsageInfo roui = RoUsageInfo.Get(int.Parse(rousageid));
|
|
|
|
|
content.FixContentText(roui, roval, 0, MyDocVersion.DocVersionAssociations[0].MyROFst);
|
|
|
|
|
_DidConvertROsToText |= true; // B2016-225 (follow through) add annotation when RO is converted to text
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
@@ -3355,8 +3429,12 @@ namespace VEPROMS
|
|
|
|
|
step.Save();
|
|
|
|
|
if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)))
|
|
|
|
|
Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewItem[int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)] = step.ItemID; // B2016-176, B2016-197 refresh saved ItemId with current ItemID
|
|
|
|
|
if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)))
|
|
|
|
|
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewContent[int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)] = step.MyContent.ContentID; // B2016-176, B2016-197 refresh saved ContentID with current ContentID
|
|
|
|
|
if (xc.SelectNodes("grid").Count > 0)
|
|
|
|
|
AddGrid(step.MyContent, xc);
|
|
|
|
|
if (xc.SelectNodes("image").Count > 0)
|
|
|
|
@@ -3448,8 +3526,12 @@ namespace VEPROMS
|
|
|
|
|
step.Save();
|
|
|
|
|
if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)))
|
|
|
|
|
Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewItem[int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)] = step.ItemID; // B2016-176, B2016-197 refresh saved ItemId with current ItemID
|
|
|
|
|
if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)))
|
|
|
|
|
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewContent[int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)] = step.MyContent.ContentID; // B2016-176, B2016-197 refresh saved ContentID with current ContentID
|
|
|
|
|
if (xn.SelectNodes("annotation").Count > 0)
|
|
|
|
|
AddAnnotations(step.ItemID, xn);
|
|
|
|
|
if (xc.SelectNodes("rousage").Count > 0)
|
|
|
|
@@ -3538,8 +3620,12 @@ namespace VEPROMS
|
|
|
|
|
step.Save();
|
|
|
|
|
if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)))
|
|
|
|
|
Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewItem[int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)] = step.ItemID; // B2016-176, B2016-197 refresh saved ItemId with current ItemID
|
|
|
|
|
if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)))
|
|
|
|
|
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewContent[int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)] = step.MyContent.ContentID; // B2016-176, B2016-197 refresh saved ContentID with current ContentID
|
|
|
|
|
if (xn.SelectNodes("annotation").Count > 0)
|
|
|
|
|
AddAnnotations(step.ItemID, xn);
|
|
|
|
|
if (xc.SelectNodes("rousage").Count > 0)
|
|
|
|
@@ -3628,8 +3714,12 @@ namespace VEPROMS
|
|
|
|
|
step.Save();
|
|
|
|
|
if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)))
|
|
|
|
|
Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewItem[int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)] = step.ItemID; // B2016-176, B2016-197 refresh saved ItemId with current ItemID
|
|
|
|
|
if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)))
|
|
|
|
|
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewContent[int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)] = step.MyContent.ContentID; // B2016-176, B2016-197 refresh saved ContentID with current ContentID
|
|
|
|
|
if (xn.SelectNodes("annotation").Count > 0)
|
|
|
|
|
AddAnnotations(step.ItemID, xn);
|
|
|
|
|
if (xc.SelectNodes("rousage").Count > 0)
|
|
|
|
@@ -3718,8 +3808,12 @@ namespace VEPROMS
|
|
|
|
|
step.Save();
|
|
|
|
|
if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)))
|
|
|
|
|
Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), step.ItemID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewItem[int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)] = step.ItemID; // B2016-176, B2016-197 refresh saved ItemId with current ItemID
|
|
|
|
|
if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)))
|
|
|
|
|
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), step.MyContent.ContentID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewContent[int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)] = step.MyContent.ContentID; // B2016-176, B2016-197 refresh saved ContentID with current ContentID
|
|
|
|
|
if (xn.SelectNodes("annotation").Count > 0)
|
|
|
|
|
AddAnnotations(step.ItemID, xn);
|
|
|
|
|
if (xc.SelectNodes("rousage").Count > 0)
|
|
|
|
@@ -3813,8 +3907,12 @@ namespace VEPROMS
|
|
|
|
|
sect.Save();
|
|
|
|
|
if (!Old2NewContent.ContainsKey(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)))
|
|
|
|
|
Old2NewContent.Add(int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText), sect.MyContent.ContentID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewContent[int.Parse(xc.Attributes.GetNamedItem("contentid").InnerText)] = sect.MyContent.ContentID; // B2016-176, B2016-197 refresh saved ContentID with current ContentID
|
|
|
|
|
if (!Old2NewItem.ContainsKey(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)))
|
|
|
|
|
Old2NewItem.Add(int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText), sect.ItemID);
|
|
|
|
|
else
|
|
|
|
|
Old2NewItem[int.Parse(xn.Attributes.GetNamedItem("itemid").InnerText)] = sect.ItemID; // B2016-176, B2016-197 refresh saved ItemId with current ItemID
|
|
|
|
|
if (xn.SelectNodes("annotation").Count > 0)
|
|
|
|
|
AddAnnotations(sect.ItemID, xn);
|
|
|
|
|
if (xc.SelectNodes("entry").Count > 0)
|
|
|
|
@@ -3878,6 +3976,7 @@ namespace VEPROMS
|
|
|
|
|
if (_ConvertROsToTextDuringImport)
|
|
|
|
|
{
|
|
|
|
|
gn.InnerText = "False";
|
|
|
|
|
ROToTextAnnotation(content, "RO Table"); // B2016-225 (follow through) add annotation when RO is converted to text
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|