public void UpgradeSkins(IDirectory newSkinsDirectory) { var oldSkinsDirectory = SkinsConfigFile.Directory.Parent.Combine("Skins"); foreach (var skin in GetNewSkinConfigs()) { IDirectory skinDirectory = newSkinsDirectory.Combine(skin.TemplateFolder).Ensure(); oldSkinsDirectory.Combine(skin.TemplateFolder).CopyTo(skinDirectory); skinDirectory.CreateXmlFile("skin.config", skin.Xml); } }
public IDirectory CopyTo(IDirectory destination, Predicate <IFile> shouldOverwriteExistingFile) { foreach (var file in GetFiles()) { var destinationFile = destination.CombineFile(file.Name); if (!destinationFile.Exists || shouldOverwriteExistingFile(file)) { file.CopyTo(destination); } } foreach (var subdir in GetDirectories()) { var directoryName = subdir.Name; var destinationSubDir = destination.Combine(directoryName); destinationSubDir.Ensure(); subdir.CopyTo(destinationSubDir); } return(destination); }
public IDirectory CopyTo(IDirectory destination, Predicate<IFile> shouldOverwriteExistingFile) { foreach (var file in GetFiles()) { var destinationFile = destination.CombineFile(file.Name); if (!destinationFile.Exists || shouldOverwriteExistingFile(file)) file.CopyTo(destination); } foreach (var subdir in GetDirectories()) { var directoryName = subdir.Name; var destinationSubDir = destination.Combine(directoryName); destinationSubDir.Ensure(); subdir.CopyTo(destinationSubDir); } return destination; }