Ejemplo n.º 1
0
        public OptionManager(string path)
        {
            _defaultOptions = new EtlOptions.EtlOptions();
            string options;

            try
            {
                using (var xmlReader = new StreamReader($"{path}/config.xml"))
                {
                    options = xmlReader.ReadToEnd();
                }
                _xml           = new EtlXmlOptions(options);
                _xmlConfigured = true;
                Report         = _xml.Report;
                Report        += "Xml options loaded successfully. ";
                // logger.Log(Report);
            }
            catch
            {
                _xmlConfigured = false;
            }
            try
            {
                using (var jsonReader = new StreamReader($"{path}/appsettings.json"))
                {
                    options = jsonReader.ReadToEnd();
                }
                _json           = new EtlJsonOptions(options);
                _jsonConfigured = true;
                Report          = _json.Report;
                Report         += "Json options loaded successfully. ";
                // logger.Log(Report);
            }
            catch
            {
                _jsonConfigured = false;
            }
            if (!_jsonConfigured && !_xmlConfigured)
            {
                Report = "Failed to load both of json and xml. Using default options and creating appsettings.json";
                // logger.Log(Report);
                if (!File.Exists($"{path}/appsettings.json"))
                {
                    var json = Converter.SerializeJson(_defaultOptions);
                    Validator.CreateDirectoryIfNotExist(path);
                    using var appsettings = new StreamWriter($"{path}/appsettings.json");
                    appsettings.Write(json);
                }
                if (!File.Exists($"{path}/config.xml"))
                {
                    var xml = Converter.SerializeXml(_defaultOptions);
                    Validator.CreateDirectoryIfNotExist(path);
                    using var configXml = new StreamWriter($"{path}/config.xml");
                    configXml.Write(xml);
                }
            }
        }
Ejemplo n.º 2
0
        private void InitializeEtl()
        {
            OptionsProvider      optionsProvider = new EtlJsonOptions(typeof(EtlOptions), "D:\\config.json");
            EtlBuilder           builder         = new LabEtlBuilder(optionsProvider);
            ConfigurationManager configuration   = new ConfigurationManager(builder);

            configuration.Construct();
            etl = builder.GetResult();
        }