private async Task TransferElement(string pathToFile) { var aesAlg = Aes.Create(); var addedFile = new FileElement(pathToFile); MakeRecord($"1 was added.\n"); AwaitFileToClose(addedFile.Info.FullName); if (enableEncrypting) { MakeRecord($"2 was added.\n"); await addedFile.EncryptAsync(aesAlg); MakeRecord($"{pathToFile} was encrypted.\n"); } var compressedFile = new FileElement(await addedFile.CompressAsync(targetDir, archiveOptions)); MakeRecord($"{pathToFile} was compressed.\n"); var decompressedFile = new FileElement(await compressedFile.DecompressAsync(targetDir)); MakeRecord($"{decompressedFile.Info.FullName} was moved.\n"); if (enableEncrypting) { await decompressedFile.DecryptAsync(aesAlg); MakeRecord($"{decompressedFile.Info.FullName} was decrypted.\n"); await addedFile.DecryptAsync(aesAlg); } if (enableArchiveDir) { compressedFile.Move(archivedFilesDir); } ; SortFiles(decompressedFile); }