B2024-006 - Improved memory management when performing the Refresh Transitions Amin Tool by encasing the getting of content information in Using statements. Same change was done for the method used by the Update RO Values Amin tool.

This commit is contained in:
John Jenko 2024-02-09 14:30:11 -05:00
parent a132d3de22
commit afad3365bd

View File

@ -665,10 +665,12 @@ namespace VEPROMS.CSLA.Library
{
TranFixCount++;
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Non-Editable Step");
Content content = Content.Get(itemInfo.MyContent.ContentID);
content.FixTransitionText(traninfo, true);
content.Save();
}
using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
{
content.FixTransitionText(traninfo, true);
content.Save();
}
}
}
if (!forceConvertToText)
@ -682,10 +684,12 @@ namespace VEPROMS.CSLA.Library
forceConvertToText = true;
TranFixCount++;
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to External Procedure using Internal Format");
Content content = Content.Get(itemInfo.MyContent.ContentID);
content.FixTransitionText(traninfo, true);
content.Save();
}
using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
{
content.FixTransitionText(traninfo, true);
content.Save();
}
}
}
}
}
@ -701,9 +705,11 @@ namespace VEPROMS.CSLA.Library
forceConvertToText = true;
TranFixCount++;
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Outside Procedure using Internal Format");
Content content = Content.Get(itemInfo.MyContent.ContentID);
content.FixTransitionText(traninfo, true);
content.Save();
using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
{
content.FixTransitionText(traninfo, true);
content.Save();
}
}
}
}
@ -719,9 +725,11 @@ namespace VEPROMS.CSLA.Library
if (newText != oldText || newValue == "?")
{
TranFixCount++;
Content content = Content.Get(itemInfo.MyContent.ContentID);
content.FixTransitionText(traninfo);
content.Save();
using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
{
content.FixTransitionText(traninfo);
content.Save();
}
}
}
}
@ -966,24 +974,26 @@ namespace VEPROMS.CSLA.Library
{
//ShowDifference(oldText, newText); // debug - display in Visual Studio Output window
ROFixCount++;
Content content = Content.Get(itemInfo.MyContent.ContentID);
if (roval == "?")
using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
{
oldText = content.ConvertROToText(rousage, roval, roch.type, origROFst);
using (Item myitem = content.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
if (roval == "?")
{
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
// B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text
Annotation.MakeAnnotation(myitem, AnnotationType.GetByNameOrCreate("Link Converted To Text"), "", string.Format("RO value ({0}) converted to text", ItemInfo.ConvertToDisplayText(oldText)), null);
oldText = content.ConvertROToText(rousage, roval, roch.type, origROFst);
using (Item myitem = content.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
{
myitem.DisposeOfContent = false; // don't dispose of the contents may be needed if more than one RO needs processed - part of B2017-060
// B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text
Annotation.MakeAnnotation(myitem, AnnotationType.GetByNameOrCreate("Link Converted To Text"), "", string.Format("RO value ({0}) converted to text", ItemInfo.ConvertToDisplayText(oldText)), null);
}
}
else
{
content.FixContentText(rousage, roval, roch.type, origROFst);
}
content.UserID = Volian.Base.Library.VlnSettings.UserID;
content.DTS = DateTime.Now;
content.Save();
}
else
{
content.FixContentText(rousage, roval, roch.type, origROFst);
}
content.UserID = Volian.Base.Library.VlnSettings.UserID;
content.DTS = DateTime.Now;
content.Save();
}
}
}