private void DeleteFolderOrFile(string relativefilePathOrSourceFolderPath, bool isFolder) { var remotePath = Path.Combine(this.storeInformation.Path, relativefilePathOrSourceFolderPath); if (!CheckIfBackupExists(remotePath)) { BackupRestoreTrace.TraceSource.WriteWarning("FileShareRecoveryPointManager", "relativefilePathOrSourceFolderPath: {0} with storePath : {1} not found" , relativefilePathOrSourceFolderPath, this.storeInformation.Path); return; } if (isFolder) { var enumerateInfo = new FileEnumerateInfo { DirectoryPath = remotePath, SearchOptionEnum = SearchOption.AllDirectories }; BackupRestoreUtility.PerformIOWithRetries( enumInfo => { PerformDestinationOperation(EnumerateFiles, enumInfo); }, enumerateInfo); List <string> filePathList = enumerateInfo.Files.ToList(); foreach (var filePath in filePathList) { BackupRestoreUtility.PerformIOWithRetries( file => { PerformDestinationOperation(DeleteFile, file); }, filePath); } } else { BackupRestoreUtility.PerformIOWithRetries( file => { PerformDestinationOperation(DeleteFile, file); }, remotePath); } }
public IEnumerable <string> ListMetadataFilesInTheFolder(string directoryName) { var enumerateInfo = new FileEnumerateInfo { DirectoryPath = directoryName, FileExtension = "*" + RecoveryPointMetadataFileExtension, SearchOptionEnum = SearchOption.TopDirectoryOnly }; BackupRestoreUtility.PerformIOWithRetries( enumInfo => { PerformDestinationOperation(EnumerateFiles, enumInfo); }, enumerateInfo); return(enumerateInfo.Files); }