private void onCheckDbConnectionComplitted(object sender, DbCheckEventArgs e) { bool connectionIsOk = e.Result; if (connectionIsOk) { //если проверка настроек успешна, запускаем программу dbWorker.MainDbConnectionString = Settings.GlobalMainDbConnectionString; this.dbWorker.CheckDbConnectionComplitted -= onCheckDbConnectionComplitted; mainWindow.Show(); } else { //иначе, показываем окно настроек if (this.changeSettings() == true) { //если настройки были изменены, проверяем их dbWorker.CheckDBConnectionVisualAsync(Settings.GlobalMainDbConnectionString, false); } else { //иначе, выходим из программы //Application.Current.Shutdown(); if (this.mainWindow != null) { this.mainWindow.Close(); } } } }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); //this.mainWindow = new MainWindow(settings); //mainWindow.Show(); this.settings = new Settings(); this.settings.Load(); if (!settings.IsCorrect) { settings.SetMainDefaults(); settings.Save(); } settings.SetGlobal(); this.dbWorker = new DbWorker(); this.mainWindow = new MainWindow(this.settings, this.dbWorker); this.dbWorker.CheckDbConnectionComplitted += onCheckDbConnectionComplitted; dbWorker.CheckDBConnectionVisualAsync(Settings.GlobalMainDbConnectionString, false); }