public RenameFileNameTask(string filePath, string hash, bool anonymise) : base(ResourceType.File, filePath) { InnerTask = new Task(() => { if (anonymise) { FileRenameHelper.AnonymizeFile(filePath, hash); } else { FileRenameHelper.DeanonymizeFile(filePath, hash); } }); }
public BulkRenameFolderTask(string folderUri, string sessionPasswordHash, bool includeSubfolders, bool anonymize) : base(ResourceType.Folder, folderUri) { InnerTask = new Task(() => { if (folderUri == null) { throw new ArgumentNullException(nameof(folderUri)); } if (sessionPasswordHash == null) { throw new ArgumentNullException(nameof(sessionPasswordHash)); } if (!Directory.Exists(folderUri)) { throw new DirectoryNotFoundException(nameof(folderUri)); } RenameFilesInFolder(folderUri); void RenameFilesInFolder(string uri) { foreach (var file in Directory.GetFiles(uri)) { if (anonymize) { FileRenameHelper.AnonymizeFile(file, sessionPasswordHash); } else { FileRenameHelper.DeanonymizeFile(file, sessionPasswordHash); } } if (!includeSubfolders) { return; } foreach (var subFolder in Directory.GetDirectories(uri)) { RenameFilesInFolder(subFolder); } } }); }