public OptionsManager(string path, Logger logger) { string options; try { using (StreamReader sr = new StreamReader($"{path}\\appsettings.json")) { options = sr.ReadToEnd(); } jsonOptions = new ETLJSONOptions(options); isJsonConnected = true; logger.Log("appsettings.json is loaded.", false); } catch (Exception ex) { isJsonConnected = false; logger.Log(ex.Message, false); } try { using (StreamReader sr = new StreamReader($"{path}\\config.xml")) { options = sr.ReadToEnd(); } xmlOptions = new ETLXMLOptions(options); isXmlConnected = true; logger.Log("config.xml is loaded.", true); } catch (Exception ex) { isXmlConnected = false; logger.Log(ex.Message, true); } if (!isJsonConnected && !isXmlConnected) { defaultOptions = new ETLOptions(); logger.Log("Default options is used.", true); } }
public ConfigManager(string mainPath) { defaultConfig = new ETLOptions(); string config; try { using (var stream = new StreamReader($"{mainPath}\\appsettings.json")) { config = stream.ReadToEnd(); } jsonConfig = new ETLJSONOptions(config); jsonConfigParsed = true; ConfigManagingInfo += " JSON configuration parsed."; } catch { ConfigManagingInfo += " Couldn't parse JSON."; } try { using (var stream = new StreamReader($"{mainPath}\\config.xml")) { config = stream.ReadToEnd(); } xmlConfig = new ETLXMLOptions(config); xmlConfigParsed = true; ConfigManagingInfo += " XML configuration parsed."; } catch { ConfigManagingInfo += " Couldn't parse XML."; } ValidateParsedOptions(); }