Exemple #1
0
        public static void SetFor(IRuntimeDatabaseConfiguration conf,
                                  DatabaseSettingsSerialization.Source source,
                                  DatabaseSettingsSerialization.User user,
                                  DatabaseSettingsSerialization.DataSpace dataSpace,
                                  Action <ISetting <string>, string> setter)
        {
            setter(new Setting <string>(BuildSettingName(source, user, dataSpace, DatabaseConfigurations.ProviderKeyName), null), conf.DatabaseProvider.Key.Serialize());

            var wrapper = new MetaDatabaseConfiguration(conf);

            foreach (var param in wrapper.PersistableParameters)
            {
                setter(new Setting <string>(BuildSettingName(source, user, dataSpace, param.Name), null, param.Encrypt), param.Get());
            }
        }
Exemple #2
0
        protected static DatabaseAccessProvider <IPlatformDatabaseServices> CreatePlatformDatabaseAccessProvider(
            DatabaseSettingsSerialization.Source source,
            DatabaseSettingsSerialization.User user,
            DatabaseSettingsSerialization.DataSpace dataSpace,
            ISettingsProvider settingsProvider)
        {
            var pluginProvider = PlatformDatabasePluginProvider;

            IRuntimeDatabaseConfiguration conf = RuntimeDatabaseConfigurations.For(pluginProvider, source, user, dataSpace, settingsProvider);

            if (conf == null || conf.ConnectionString.IsEmpty())
            {
                throw new InvalidOperationException("Unable to obtain the connection string. Please run Configuration Tool.");
            }

            var services = pluginProvider.GetImplementation(conf.DatabaseProvider.Key).GetPlatformDatabaseServices(conf);

            return(new DatabaseAccessProvider <IPlatformDatabaseServices>(
                       services,
                       services.TransactionService.CreateTransactionManager()));
        }
Exemple #3
0
        public static IRuntimeDatabaseConfiguration For(
            DatabasePluginProvider <IPlatformDatabaseProvider> provider,
            DatabaseSettingsSerialization.Source source,
            DatabaseSettingsSerialization.User user,
            DatabaseSettingsSerialization.DataSpace dataSpace,
            ISettingsProvider settingsProvider)
        {
            var providerKeySetting = new Setting <string>(BuildSettingName(source, user, dataSpace, DatabaseConfigurations.ProviderKeyName), string.Empty);
            var providerKeyString  = settingsProvider.Get(providerKeySetting);

            if (string.IsNullOrEmpty(providerKeyString))
            {
                return(null);
            }

            var providerKey = DatabaseProviderKey.Deserialize(providerKeyString);
            var conf        = provider.GetImplementation(providerKey).CreateEmptyRuntimeDatabaseConfiguration();

            RuntimeDatabaseConfigurations.Fill(conf, BuildSettingName(source, user, dataSpace, ""), settingsProvider);

            return(conf);
        }
Exemple #4
0
        private static string BuildSettingName(DatabaseSettingsSerialization.Source source, DatabaseSettingsSerialization.User user, DatabaseSettingsSerialization.DataSpace dataSpace, string settingName)
        {
            string dataSpaceStr = null;

            switch (dataSpace)
            {
            case DatabaseSettingsSerialization.DataSpace.Business:
                dataSpaceStr = "Business";
                break;

            case DatabaseSettingsSerialization.DataSpace.Logging:
                dataSpaceStr = "Logging";
                break;

            default:
                dataSpaceStr = "Platform";
                break;
            }

            return(DatabaseConfigurations.SettingPrefix + "." + dataSpaceStr + "." + source + "." + user + "." + settingName);
        }