private static Entities.Script CreateScript(Entities.ScriptConfiguration scriptConfiguration, Entities.ScriptManifest scriptManifest, Values.Configuration configuration, Strategies.ConfigInjector configInjector, string connectionString) { var scriptFileName = Path.Combine(Path.GetDirectoryName(configuration.Manifest.FilePath), scriptManifest.Path); if (!File.Exists(scriptFileName)) { throw new DatabaseScripterException(ErrorCode.ScriptFileDoesNotExist, scriptFileName); } var command = File.ReadAllText(scriptFileName); return new Entities.Script(scriptManifest.Name, scriptManifest.Description, scriptConfiguration.Properties.Find("databaseName").Value, connectionString, scriptManifest.WrapInTransaction, (scriptManifest.CurrentVersion == null) ? null : new Values.Version(scriptManifest.CurrentVersion), (scriptManifest.NewVersion == null) ? null : new Values.Version(scriptManifest.NewVersion), configInjector.InjectConfig(command, scriptConfiguration.Properties)); }