Ejemplo n.º 1
0
 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());
            }
        }