public IEnumerable <SqlScript> Build(JobConfiguration jobConfiguration)
        {
            _jobConfigurationParser.Parse(jobConfiguration);

            var output = new List <SqlScript>();

            AddDropJobScript(jobConfiguration, output);
            AddCreateJobScript(jobConfiguration, output);
            AddScheduleScripts(jobConfiguration, output);
            AddStepScripts(jobConfiguration, output);
            AddNotificationScript(jobConfiguration, output);
            AddEnableJobScript(jobConfiguration, output);

            return(output);
        }
        public DeploymentResult Execute(DeploymentConfiguration configuration)
        {
            _jobConfigurationParser.Parse(configuration.JobConfiguration);

            var scripts = _sqlScriptProvider.Build(configuration.JobConfiguration);

            var sqlResult = _sqlExecutionService.Execute(configuration.ConnectionString, scripts, configuration.Debug);

            if (!sqlResult.Successful)
            {
                return(sqlResult);
            }

            var fileDeployResult = _fileService.Execute(configuration.JobConfiguration);

            return(fileDeployResult);
        }