BlogTalkRadio.Tools.CFT.App.Transform C# (CSharp) Method

Transform() private method

private Transform ( string path = null, [ configuration = null, string destination = null, [ configurationFile = null, [ configurationEnv = null, [ configurationDefault = null, [ dry = false ) : void
path string
configuration [
destination string
configurationFile [
configurationEnv [
configurationDefault [
dry [
return void
        public static void Transform(
            string path = null,
            [Description("Configuration Name (eg. Dev, Production)")]string configuration = null,
            string destination = null,
            [Description("A file to get Configuration name from")]string configurationFile = null,
            [Description("An environment variable to get Configuration name from")]string configurationEnv = null,
            [Description("Default Configuration name to use when not obtained from other source")]string configurationDefault = null,
            [Description("Stops with an error if a file would change. Doesn't touch any file")]bool dry = false
            )
        {
            try
            {
                var directoryProcessor = new DirectoryProcessor(path, destination);
                if (string.IsNullOrWhiteSpace(configuration))
                {
                    string choice;
                    configuration = new ConfigurationNameResolver
                        {
                            Filename = configurationFile,
                            EnvironmentVariable = configurationEnv,
                            Default = configurationDefault
                        }.GetConfigurationName(out choice);
                    if (!string.IsNullOrWhiteSpace(configuration))
                    {
                        Trace.TraceInformation(string.Format("Using {0} configuration obtained from {1}", configuration, choice));
                    }
                }
                if (string.IsNullOrWhiteSpace(configuration))
                {
                    directoryProcessor.CreateEmptyDestinationFiles(dry);
                }
                else
                {
                    directoryProcessor.PerformTransformations(configuration, dry);
                }
            }
            catch
            {
                Environment.ExitCode = 1;
                throw;
            }
        }