public DatabaseProvider(CachedDatabaseProvider cachedDatabase, NullDatabaseProvider nullDatabaseProvider, IConnectionSettingsProvider settings, IMessageBoxService messageBoxService) { if (settings.GetSettings().IsEmpty) { impl = nullDatabaseProvider; } else { try { 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()); } } }
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()); } }
public DatabaseCacheTask(CachedDatabaseProvider cache) { this.cache = cache; }