示例#1
0
 static SayingManager()
 {
     mConfig         = ToolsConfig.GetInstance().Saying;
     mConfigValuable = Validate(mConfig);
     if (mConfigValuable)
     {
         string connectionString = mConfig.CacheDB.ConnectionString;
         if (!string.IsNullOrEmpty(connectionString))
         {
             try
             {
                 if (DataReader.EnsureDBSchemaAsync(connectionString).Result)
                 {
                     mGlobalIndex      = DataReader.QuerySayingsIndexFromDB(connectionString);
                     mSayingsCount     = DataReader.QuerySayingsCountFromDB(connectionString);
                     mConnectionString = connectionString;
                     mDBValuable       = true;
                 }
             }
             catch (Exception ex)
             {
                 mLogger.Error($"Error while validating DB schema:{connectionString}, due to:{ex}");
             }
         }
     }
 }
示例#2
0
 private ToolsConfig()
 {
     using (var stream = new FileStream(configFilePath, FileMode.Open))
     {
         var xmlSerializer = new XmlSerializer(typeof(Configuration));
         if (xmlSerializer.Deserialize(stream) is Configuration config)
         {
             if (config.ContentPanelViews != null)
             {
                 foreach (var view in config.ContentPanelViews)
                 {
                     Views.Add(new ViewInfo(view));
                 }
             }
             if (config.Modules != null)
             {
                 foreach (var module in config.Modules)
                 {
                     Modules.Add(new ModuleInfo(module));
                 }
             }
             Saying = config.Saying;
         }
     }
 }
示例#3
0
 private static bool Validate(ConfigurationSaying mConfig)
 {
     if (mConfig != null && !string.IsNullOrEmpty(mConfig.Url) &&
         !string.IsNullOrEmpty(mConfig.Param) &&
         !string.IsNullOrEmpty(mConfig.XPath))
     {
         return(true);
     }
     return(false);
 }