/// <inheritdoc/> public virtual bool TryRestore(FileInfo file) { Ensure.NotNull(file, nameof(file)); Ensure.ExtensionIsNotAnyOf(file, BackupExtensions, "file"); Ensure.DoesNotExist(file); try { var softDelete = file.GetSoftDeleteFileFor(); if (softDelete.Exists) { Restore(file, softDelete); return(true); } var backup = BackupFile.GetRestoreFileFor(file, Setting); if (backup != null) { Restore(file, backup); return(true); } return(false); } catch (Exception) { return(false); } }
/// <inheritdoc/> internal virtual void Restore(FileInfo file) { Ensure.NotNull(file, nameof(file)); Ensure.ExtensionIsNotAnyOf(file, BackupExtensions, "file"); var softDelete = file.WithAppendedExtension(FileHelper.SoftDeleteExtension); if (softDelete.Exists) { Restore(file, softDelete); return; } var backup = BackupFile.GetRestoreFileFor(file, Setting); if (backup != null) { Restore(file, backup); } }