public DatabaseConfigViewModel(IDatabaseSettingsProvider settingsProvider)
        {
            var dbSettings = settingsProvider.Settings;

            database = dbSettings.Database;
            port     = (dbSettings.Port ?? 3306).ToString();
            user     = dbSettings.User;
            pass     = dbSettings.Password;
            host     = dbSettings.Host;

            Save = new DelegateCommand(() =>
            {
                int?port = null;
                if (int.TryParse(Port, out int port_))
                {
                    port = port_;
                }
                settingsProvider.Settings = new DbAccess()
                {
                    Host     = host,
                    Database = database,
                    Password = pass,
                    Port     = port,
                    User     = user
                };
                IsModified = false;
            });
        }
        public DatabaseProvider(TrinityMySqlDatabaseProvider trinityDatabase,
                                NullDatabaseProvider nullDatabaseProvider,
                                IDatabaseSettingsProvider settingsProvider,
                                IMessageBoxService messageBoxService,
                                ITaskRunner taskRunner) : base(nullDatabaseProvider)
        {
            if (settingsProvider.Settings.IsEmpty)
            {
                return;
            }

            try
            {
                var cachedDatabase = new CachedDatabaseProvider(trinityDatabase, taskRunner);
                cachedDatabase.TryConnect();
                impl = cachedDatabase;
            }
            catch (Exception e)
            {
                impl = nullDatabaseProvider;
                messageBoxService.ShowDialog(new MessageBoxFactory <bool>().SetTitle("Database error")
                                             .SetIcon(MessageBoxIcon.Error)
                                             .SetMainInstruction("Couldn't connect to the database")
                                             .SetContent(e.Message)
                                             .WithOkButton(true)
                                             .Build());
            }
        }
예제 #3
0
 public TrinityMySqlDatabaseProvider(IDatabaseSettingsProvider settings,
                                     DatabaseLogger databaseLogger,
                                     ICurrentCoreVersion currentCoreVersion)
 {
     this.currentCoreVersion = currentCoreVersion;
     DataConnection.TurnTraceSwitchOn();
     DataConnection.WriteTraceLine  = databaseLogger.Log;
     DataConnection.DefaultSettings = new MySqlSettings(settings.Settings);
 }
 /// <summary>
 /// Initializes the instance.
 /// </summary>
 /// <param name="writer">IKdbxWriter used to persist the document.</param>
 /// <param name="settings">Provider for database serialization settings.</param>
 /// <param name="candidate">Default location to save the document.</param>
 /// <param name="syncContext">ISyncContext for property change notifications.</param>
 /// <param name="canSave">Stupid dumb hack since StorageFiles suck on phone and have inaccurate attributes.</param>
 public DefaultFilePersistenceService(IKdbxWriter writer, IDatabaseSettingsProvider settings, IDatabaseCandidate candidate, ISyncContext syncContext, bool canSave)
 {
     this.saveSemaphore   = new SemaphoreSlim(1, 1);
     this.fileWriter      = writer ?? throw new ArgumentNullException(nameof(writer));
     this.settings        = settings ?? throw new ArgumentNullException(nameof(settings));
     this.defaultSaveFile = candidate ?? throw new ArgumentNullException(nameof(candidate));
     this.syncContext     = syncContext ?? throw new ArgumentNullException(nameof(syncContext));
     CanSave = canSave;
 }
예제 #5
0
        public DatabaseSettingsViewModel(IDatabaseSettingsProvider settingsProvider)
        {
            this.settingsProvider = settingsProvider ?? throw new ArgumentNullException(nameof(settingsProvider));

            if (KdfGuid.Equals(AesParameters.AesUuid))
            {
                this._aesParams = this.settingsProvider.KdfParameters as AesParameters;
                DebugHelper.Assert(this._aesParams != null);

                this._argonParams = new Argon2Parameters(2, 64, 100);
            }
            else
            {
                DebugHelper.Assert(KdfGuid.Equals(Argon2Parameters.Argon2Uuid));
                this._argonParams = this.settingsProvider.KdfParameters as Argon2Parameters;
                DebugHelper.Assert(this._argonParams != null);

                this._aesParams = new AesParameters(6000);
            }
        }
예제 #6
0
 public AnythingDataDbContext(IDatabaseSettingsProvider databaseSettingsProvider, ITenantAccessor tenantAccessor)
     : base(databaseSettingsProvider.GetDatabaseSettings().DataConnection,
            $"haze_{Config.Stage}_data",
            tenantAccessor.GetTenant())
 {
 }
 public DotNetMetricsRepository(IDatabaseSettingsProvider dbProvider)
 {
     _connectionString = dbProvider.GetConnectionString();
 }
 public DzuwenaliaDBContextFactory(IDatabaseSettingsProvider databaseSettingsProvider)
 {
     _databaseSettingsProvider = databaseSettingsProvider;
 }
예제 #9
0
 /// <summary>
 /// Assembles a ViewModel with the provided settings provider.
 /// </summary>
 /// <param name="settingsProvider"></param>
 /// <returns></returns>
 public IDatabaseSettingsViewModel Assemble(IDatabaseSettingsProvider settingsProvider)
 {
     return(new DatabaseSettingsViewModel(settingsProvider));
 }