コード例 #1
0
        public static TM_Xml_Database                    load_GuidanceItemsFromCache(this TM_Xml_Database tmDatabase)
        {
            //"Loading items from cache".info();
            var chacheFile = tmDatabase.getCacheLocation();

            if (chacheFile.fileExists().isFalse())
            {
                "[TM_Xml_Database] in loadGuidanceItemsFromCache, cached file not found: {0}".error(chacheFile);
                tmDatabase.xmlDB_Load_GuidanceItems_and_Create_CacheFile();
            }
            else
            {
                var o2Timer             = new O2Timer("loadGuidanceItemsFromCache").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("mapping to memory loadGuidanceItemsFromCache").start();
                    foreach (var loadedGuidanceItem in loadedGuidanceItems)
                    {
                        if (loadedGuidanceItem.notNull())
                        {
                            TM_Xml_Database.Current.Cached_GuidanceItems.add(loadedGuidanceItem.Metadata.Id,
                                                                             loadedGuidanceItem);
                        }
                    }
                    o2Timer.stop();
                }
                tmDatabase.populateGuidanceItemsFileMappings();
            }
            return(tmDatabase);
        }