public TM_GUI_Objects GetGUIObjects()
{
// var sessionLibrary = "CWE";
// Session["Library"] = sessionLibrary;
var libraryId = GetCurrentSessionLibrary();
if (guiObjectsCacheOk && last_Gui_Objects.notNull()) // returns cached version on next calls
{
return(last_Gui_Objects);
}
var guiObjects = new TM_GUI_Objects();
var guidanceItems = (libraryId == Guid.Empty)
? tmXmlDatabase.tmGuidanceItems()
: GetGuidanceItemsInLibrary(libraryId);
foreach (var row in guidanceItems)
{
var guidanceItemMappings = "{0},{1},{2},{3},{4},{5},{6}".format(
//guiObjects.add_UniqueString(row.guidanceItemId.str().hash().str()), // this will shave off another 80k from the request
guiObjects.add_UniqueString(row.Metadata.Id.str()),
guiObjects.add_UniqueString(""), //row.libraryId.str()),
guiObjects.add_UniqueString(row.Metadata.Title),
guiObjects.add_UniqueString(row.Metadata.Technology),
guiObjects.add_UniqueString(row.Metadata.Phase),
guiObjects.add_UniqueString(row.Metadata.Type),
guiObjects.add_UniqueString(row.Metadata.Category));
guiObjects.GuidanceItemsMappings.Add(guidanceItemMappings);
}
last_Gui_Objects = guiObjects;
//for the big library this is now a 360k string
guiObjectsCacheOk = true;
return(guiObjects);
}