public void TestCreateTargetFileFromSourceFile() { var file = new FileInfo(@"D:\T001\TestFolder\Bin\DevServcerConflict.psd"); var uF = new FileUtility(new LogAndDisplayController(new AppConfigurationModes{ExecutionMode = AppExecutionMode.ExecuteWithoutLog})); var targetDir = new DirectoryInfo(@"D:\T002"); var newTargetFile = uF.ComputeTargetFileNameFromSourceFileName(targetDir, file); Assert.IsTrue(newTargetFile==@"D:\T002\DevServcerConflict.psd"); }
public void TestAssembleCompositeDirectory() { var origSrcDir = @"D:\T001"; var currSrcDir = new DirectoryInfo(@"D:\T001\TestFolder"); var targetDir = @"D:\T002"; var fU = new FileUtility(new LogAndDisplayController(new AppConfigurationModes{ExecutionMode = AppExecutionMode.ExecuteWithoutLog})); var nTarget = fU.ComputeTargetDirectoryFromSourceDirectory(targetDir, origSrcDir, currSrcDir); Assert.IsTrue(nTarget == @"D:\T002\TestFolder","T91"); origSrcDir = @"D:\T001\TestFolder"; targetDir = @"D:\T002"; currSrcDir = new DirectoryInfo(@"D:\T001\TestFolder\Bin\"); nTarget = fU.ComputeTargetDirectoryFromSourceDirectory(targetDir, origSrcDir, currSrcDir); Assert.IsTrue(nTarget == @"D:\T002\Bin"); origSrcDir = @"D:\T001\"; currSrcDir = new DirectoryInfo(@"D:\T001\TestFolder\Bin"); targetDir = @"D:\T002"; nTarget = fU.ComputeTargetDirectoryFromSourceDirectory(targetDir, origSrcDir, currSrcDir); Assert.IsTrue(nTarget == @"D:\T002\TestFolder\Bin","T92"); origSrcDir = @"D:\T001"; currSrcDir = new DirectoryInfo(@"D:\T001\TestFolder\Bin"); targetDir = @"D:\T002\"; nTarget = fU.ComputeTargetDirectoryFromSourceDirectory(targetDir, origSrcDir, currSrcDir); Assert.IsTrue(nTarget == @"D:\T002\TestFolder\Bin","T93"); origSrcDir = @"D:\T001\"; currSrcDir = new DirectoryInfo(@"D:\T001\TestFolder\Bin\"); targetDir = @"D:\T002\"; nTarget = fU.ComputeTargetDirectoryFromSourceDirectory(targetDir, origSrcDir, currSrcDir); Assert.IsTrue(nTarget == @"D:\T002\TestFolder\Bin","T94"); }
private void ProcessCommand(CopyFileCommand command) { var fUtil = new FileUtility(_log); // By this point, command parameters have been validated if(command.CommandParameters.DeleteExistingFilesFirst) { fUtil.DeleteAllFilesInDirectoryTree(command.TargetDirectory); if(command.CommandParameters.DeleteExistingDirectoriesFirst) { fUtil.DeleteAllDirectoriesInTreeExceptTopDirectory(command.TargetDirectory); } } DoCopyCommand(command, command.SourceDirectory); }
private void DoCopyCommand(CopyFileCommand cmd, string currSourceDir) { var uF = new FileUtility(_log); var uH = new HelperUtility(); var currSrcInfo = uH.ConvertStringPathToInfo(currSourceDir); if(currSrcInfo==null) { throw new Exception(String.Format("Invalid Srouce Directory Info: {0}", currSourceDir)); } var newTargetDir = uF.ComputeTargetDirectoryFromSourceDirectory(cmd.TargetDirectory,cmd.SourceDirectory, currSrcInfo); if(newTargetDir == null) { return; } if(!Directory.Exists(newTargetDir)) { try { Directory.CreateDirectory(newTargetDir); } catch(Exception e) { _log.LogAndDisplay(String.Format("Error Creating Target Directory: {0}",newTargetDir),e,LoggerMode.LogAndDisplayConsoleLine); return; } } var newTargInfo = uH.ConvertStringPathToInfo(newTargetDir); if(newTargInfo==null) { _log.LogAndDisplay(String.Format("Invalid Target Directory Info: {0}", newTargetDir),LoggerMode.LogAndDisplayConsoleLine); return; } _log.DisplayCopyDirectoryStatus(currSrcInfo.FullName, newTargInfo.FullName); AssignCopyOperationByCopyMode(cmd, currSrcInfo, newTargInfo); if(!cmd.CommandParameters.CopySubdirectories) { return; } var dirs = currSrcInfo.GetDirectories(); if(dirs.Length < 1) { return; } foreach (var dir in dirs) { DoCopyCommand(cmd, uH.RemoveTrailingDirectorySlash(dir.FullName)); } }
private void DoCopyFilesByWildCard(CopyCommandParameters parms, DirectoryInfo targDirInfo, DirectoryInfo srcDirInfo) { if(srcDirInfo==null) { _log.LogAndDisplay("DoCopyFilesByWildCard(): Invalid Source Directory Info!", LoggerMode.LogAndDisplayConsoleLine); return; } if(targDirInfo==null) { _log.LogAndDisplay("DoCopyFilesByWildCard(): Invalid Target Directory Info!", LoggerMode.LogAndDisplayConsoleLine); return; } var files = srcDirInfo.GetFiles(parms.WildCard); if(files.Length < 1) { return; } var uF = new FileUtility(_log); foreach (var file in files) { if(IsFileADirectory(file)) { continue; } uF.CopyFilesFromSrcToTarget(file, targDirInfo); } }