public static List<CopyInformation> CopyDirectory(string folderLocation, string targetDirectory)
{
string frbdkDirectory = DirectoryHelper.FrbdkDirectory;
folderLocation = frbdkDirectory + folderLocation;
string targetLocation = DirectoryHelper.TemplateDirectory + targetDirectory + @"\";
//Create all of the directories
foreach (var path in Directory.GetDirectories(folderLocation, "*", SearchOption.AllDirectories)
.Select(dirPath => dirPath.Replace(folderLocation, targetLocation))
.Where(path => !Directory.Exists(path)))
{
Directory.CreateDirectory(path);
}
//Copy all the files
return (from newPath in Directory.GetFiles(folderLocation, "*.*", SearchOption.AllDirectories)
let path = newPath.Replace(folderLocation, targetLocation)
select new CopyInformation
{
SourceFile = newPath,
DestinationFile = path
}).ToList();
}