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 DataBackupsViewModel([NotNull] BackupManager backupManager, [NotNull] DataBackupUserSettings userSettings) { if (backupManager == null) { throw new ArgumentNullException(nameof(backupManager)); } if (userSettings == null) { throw new ArgumentNullException(nameof(userSettings)); } this.backupManager = backupManager; this.userSettings = userSettings; var backups = backupManager.GetBackups().OrderByDescending(backup => backup.Timestamp); foreach (var dataBackup in backups) { dataBackups.Add(dataBackup); } RefreshBackupSystemStatus(); }