예제 #1
0
        public void ReadDbConfigurationTest()
        {
            Assert.IsNotNull(_LibManager, "Library settings manager can't be null, but it is.");

            DragonflyConfig currentConfig = null;

            currentConfig = ReadCurrentConfiguration();
            Assert.IsNotNull(
                currentConfig,
                "Return empty configuration after reading.");
            Assert.IsNotNull(
                currentConfig.DbConfiguration,
                "Return empty DB configuration after reading.");

            try
            {
                DatabaseAccessConfiguration accessConfig = _Raader.GetDbAccessSettings();
                Assert.IsNotNull(accessConfig, "Reader was returned an empty db config.");
                Assert.AreEqual(currentConfig.DbConfiguration.DbAddress, accessConfig.ServerName);
                Assert.AreEqual(currentConfig.DbConfiguration.DbName, accessConfig.DbName);
                Assert.AreEqual(currentConfig.DbConfiguration.DefaultUserName, accessConfig.UserName);
                Assert.AreEqual(currentConfig.DbConfiguration.DefaultUserPassword, accessConfig.Password);
            }
            finally
            {
            }
        }
예제 #2
0
        private DragonflyConfig LoadConfigurationFile(string configPath)
        {
            if (_Manager == null)
            {
                throw new InvalidOperationException("Settings manager not loaded.");
            }

            DragonflyConfig fullConfig = null;

            try
            {
                fullConfig = _Manager.LoadConfiguration(configPath);
            }
            catch (Exception ex)
            {
                if (ex is DirectoryNotFoundException || ex is FileNotFoundException)
                {
                    fullConfig = new DragonflyConfig();
                    _Manager.SaveConfiguration(fullConfig);
                }
                else
                {
                    throw;
                }
            }
            if (fullConfig.DbConfiguration == null)
            {
                throw new InvalidOperationException(
                          "database configuraion not presented in config file.");
            }

            return(fullConfig);
        }
예제 #3
0
        private DragonflyConfig ReadCurrentConfiguration()
        {
            DragonflyConfig currentConfig = null;

            try
            {
                currentConfig = _LibManager.LoadConfiguration();
            }
            catch (FileNotFoundException)
            {
            }
            return(currentConfig);
        }
예제 #4
0
        /// <summary>Method create a settings to database access.</summary>
        /// <returns>Settings to access to database.</returns>
        /// <exception cref="InvalidOperationException">
        /// Unable to generate settings. Something wrong.
        /// </exception>
        public DatabaseAccessConfiguration GetDbAccessSettings(string configPath)
        {
            DragonflyConfig fullConfig = LoadConfigurationFile(configPath);

            DatabaseAccessConfiguration dbConfig = new DatabaseAccessConfiguration()
            {
                ServerName = fullConfig.DbConfiguration.DbAddress,
                UserName   = fullConfig.DbConfiguration.DefaultUserName,
                Password   = fullConfig.DbConfiguration.DefaultUserPassword,
                DbName     = fullConfig.DbConfiguration.DbName
            };

            return(dbConfig);
        }
예제 #5
0
 private void btnSaveConfig_Click(object sender, RoutedEventArgs e)
 {
     SettingsLib.SettingsManager manager = new SettingsLib.SettingsManager();
     try
     {
         DragonflyConfig config = new DragonflyConfig()
         {
             DbConfiguration = DbConfiguration
         };
         manager.SaveConfiguration(config);
     }
     catch (Exception ex)
     {
         MessageBox.Show($"Error on config saving {ex.ToString()}");
     }
 }
예제 #6
0
        private void InitializeConfiguration()
        {
            SettingsLib.SettingsManager manager = new SettingsLib.SettingsManager();
            DragonflyConfig             config  = null;

            try
            {
                config = manager.LoadConfiguration();
            }
            catch { }

            if (config == null)
            {
                config = new DragonflyConfig();
            }

            DbConfiguration = config.DbConfiguration;
        }
예제 #7
0
        public string GetLogDirectory()
        {
            DragonflyConfig fullConfig = LoadConfigurationFile(string.Empty);

            return(fullConfig.LogDirectory);
        }