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++; TranFixCount++;
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Non-Editable Step"); itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Non-Editable Step");
Content content = Content.Get(itemInfo.MyContent.ContentID); using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
content.FixTransitionText(traninfo, true); {
content.Save(); content.FixTransitionText(traninfo, true);
} content.Save();
}
}
} }
if (!forceConvertToText) if (!forceConvertToText)
@ -682,10 +684,12 @@ namespace VEPROMS.CSLA.Library
forceConvertToText = true; forceConvertToText = true;
TranFixCount++; TranFixCount++;
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to External Procedure using Internal Format"); itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to External Procedure using Internal Format");
Content content = Content.Get(itemInfo.MyContent.ContentID); using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
content.FixTransitionText(traninfo, true); {
content.Save(); content.FixTransitionText(traninfo, true);
} content.Save();
}
}
} }
} }
} }
@ -701,9 +705,11 @@ namespace VEPROMS.CSLA.Library
forceConvertToText = true; forceConvertToText = true;
TranFixCount++; TranFixCount++;
itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Outside Procedure using Internal Format"); itemInfo.MyContent.FixTransitionText(traninfo, itemInfo, "Reason for Change: Transition to Outside Procedure using Internal Format");
Content content = Content.Get(itemInfo.MyContent.ContentID); using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
content.FixTransitionText(traninfo, true); {
content.Save(); content.FixTransitionText(traninfo, true);
content.Save();
}
} }
} }
} }
@ -719,9 +725,11 @@ namespace VEPROMS.CSLA.Library
if (newText != oldText || newValue == "?") if (newText != oldText || newValue == "?")
{ {
TranFixCount++; TranFixCount++;
Content content = Content.Get(itemInfo.MyContent.ContentID); using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
content.FixTransitionText(traninfo); {
content.Save(); content.FixTransitionText(traninfo);
content.Save();
}
} }
} }
} }
@ -966,24 +974,26 @@ namespace VEPROMS.CSLA.Library
{ {
//ShowDifference(oldText, newText); // debug - display in Visual Studio Output window //ShowDifference(oldText, newText); // debug - display in Visual Studio Output window
ROFixCount++; ROFixCount++;
Content content = Content.Get(itemInfo.MyContent.ContentID); using (Content content = Content.Get(itemInfo.MyContent.ContentID)) //B2024-006 free up content memory when done
if (roval == "?")
{ {
oldText = content.ConvertROToText(rousage, roval, roch.type, origROFst); if (roval == "?")
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 oldText = content.ConvertROToText(rousage, roval, roch.type, origROFst);
// B2016-225 (follow through) added more descriptive Annotation Type when RO is converted to text using (Item myitem = content.ContentItems[0].MyItem) // so that myitem does not stay in cache B2016-153
Annotation.MakeAnnotation(myitem, AnnotationType.GetByNameOrCreate("Link Converted To Text"), "", string.Format("RO value ({0}) converted to text", ItemInfo.ConvertToDisplayText(oldText)), null); {
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();
} }
} }
} }