public static TM_FileStorage load_GuidanceItemsFromCache(this TM_FileStorage tmFileStorage)
{
var tmDatabase = tmFileStorage.tmXmlDatabase();
if (tmDatabase.isNull())
return tmFileStorage;
var chacheFile = tmFileStorage.getCacheLocation();
if (chacheFile.fileExists().isFalse())
{
"[TM_Xml_Database] [load_GuidanceItemsFromCache] cached file not found: {0}".debug(chacheFile);
tmFileStorage.xmlDB_Load_GuidanceItems_and_Create_CacheFile();
}
else
{
var o2Timer = new O2Timer("[TM_Xml_Database] [loadGuidanceItemsFromCache] loaded cache ").start();
var loadedGuidanceItems = chacheFile.load<List<TeamMentor_Article>>();
o2Timer.stop();
if (loadedGuidanceItems.isNull()) //if we couldn't load it , delete it
Files.deleteFile(chacheFile);
else
{
o2Timer = new O2Timer("[TM_Xml_Database] [loadGuidanceItemsFromCache] loading files ").start();
foreach (var loadedGuidanceItem in loadedGuidanceItems)
if (loadedGuidanceItem.notNull())
tmDatabase.Cached_GuidanceItems.add(loadedGuidanceItem.Metadata.Id,
loadedGuidanceItem);
o2Timer.stop();
}
tmFileStorage.populateGuidanceItemsFileMappings();
}
return tmFileStorage;
}