Example #1
0
        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);
        }
Example #3
0
        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;
        }