TeamMentor.CoreLib.TM_Xml_Database_Load_And_FileCache.load_GuidanceItemsFromCache C# (CSharp) Method

load_GuidanceItemsFromCache() public static method

public static load_GuidanceItemsFromCache ( this tmFileStorage ) : TM_FileStorage
tmFileStorage this
return TeamMentor.FileStorage.TM_FileStorage
        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;
        }