private void RestoreDatabaseFromSyncPathMenuItem_Click(object sender, EventArgs e) { if (_applicationState.DatabaseExists && MessageBox.Show("Are you sure that you want to replace the existing database?\nIt is recommended that you perform a backup before replacing the existing database!", "Replace database from sync folder", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } var formGetPassword = new FormGetPassword { UsePasswordValidation = false }; if (formGetPassword.ShowDialog(this) != DialogResult.OK) { formGetPassword.Dispose(); return; } string password = formGetPassword.PasswordString; _passwordStorage.Set("RestoreDatabaseFromSync", password); formGetPassword.Dispose(); _applicationState.DatabaseLoaded = false; _appSettingsService.LoadSettings(); InitFormSettings(); RestoreSyncDataResult result = _logicManager.RestoreBackupFromSyncFolder(); if (result.Successful) { MessageBox.Show("Database and app settings restored from sync folder.", "Restore complete", MessageBoxButtons.OK, MessageBoxIcon.Information); _applicationState.DatabaseExists = true; UpdateApplicationState(); } else { MessageBox.Show("Could not restore sync folder content: " + result.ErrorText, "Error restoring data", MessageBoxButtons.OK, MessageBoxIcon.Error); } }