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}"); } } } }
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; } } }
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); }