bool TryRestoreDataBackupIfRequested(BackupManager backupManager, DataBackupUserSettings userSettings, ILogger logger) { if (userSettings.RestoreBackupRequested) { bool result = false; try { backupManager.RestoreDataBackup(userSettings.RestoreBackupName); result = true; } catch (DataBackupRestoreCanceledException exception) { logger.Info(exception, $"Canceled restore of backup named: {userSettings.RestoreBackupName}."); } catch (Exception exception) { logger.Error(exception, $"Unable to restore backup named {userSettings.RestoreBackupName}. Cancelling. Please try to restore another backup."); } userSettings.RestoreBackupRequested = false; userSettings.RestoreBackupName = string.Empty; userSettings.Save(); return(result); } return(false); }
public void ScheduleRestore([NotNull] DataBackup dataBackup) { if (dataBackup == null) { throw new ArgumentNullException(nameof(dataBackup)); } var dialogResult = MessageBox.Show( "Selected backup will be restored after Wurm Assistant is restarted. Current data will be overwritten.", "Confirmation needed", MessageBoxButton.OKCancel); if (dialogResult == MessageBoxResult.Cancel || dialogResult == MessageBoxResult.None) { return; } userSettings.RestoreBackupRequested = true; userSettings.RestoreBackupName = dataBackup.BackupName; userSettings.Save(); RefreshBackupSystemStatus(); }