private static SqtppOptions CreatePreprocessorArguments(VariableSubstitutor substitutor, ScriptParameter csqlParameter) { SqtppOptions result = new SqtppOptions(); foreach (var pd in csqlParameter.PreprocessorDefinitions) { if (pd.IsEnabled && !String.IsNullOrEmpty(pd.Name)) { string value = substitutor.Substitute(pd.Value); result.MacroDefinitions.Add(pd.Name, value); } } foreach (var directory in csqlParameter.IncludeDirectories) { if (!String.IsNullOrEmpty(directory)) { var path = substitutor.Substitute(directory); result.IncludeDirectories.Add(path); } } if (!String.IsNullOrEmpty(csqlParameter.AdvancedPreprocessorParameter)) { result.AdvancedArguments = csqlParameter.AdvancedPreprocessorParameter; } return(result); }
private static DbConnectionParameter CreateDbConnectionParameter(DbConnectionParameter dbConnectionParameter, Document activeDocument) { DocumentEnvironment environment = new DocumentEnvironment(activeDocument); VariableSubstitutor substitutor = new VariableSubstitutor(environment); DbConnectionParameter dbConnectionParameterCopy = new DbConnectionParameter(dbConnectionParameter); dbConnectionParameterCopy.DatasourceAddress = substitutor.Substitute(dbConnectionParameter.DatasourceAddress); dbConnectionParameterCopy.Catalog = substitutor.Substitute(dbConnectionParameter.Catalog); return(dbConnectionParameterCopy); }
private static CSqlOptions CreateCSqlOptions(DbConnectionParameter dbConnectionParameter, ScriptParameter csqlParameter, Document activeDocument) { CSqlOptions csqlOptions = new CSqlOptions(); DocumentEnvironment environment = new DocumentEnvironment(activeDocument); VariableSubstitutor substitutor = new VariableSubstitutor(environment); csqlOptions.ScriptFile = activeDocument.FullName; if (csqlParameter.IsOutputFileEnabled) { string file = substitutor.Substitute(csqlParameter.OutputFile); csqlOptions.DistributionFile = file; } else { csqlOptions.DistributionFile = null; } if (csqlParameter.IsTemporaryFileEnabled) { string file = substitutor.Substitute(csqlParameter.TemporaryFile); csqlOptions.TempFile = file; } else { csqlOptions.TempFile = null; } csqlOptions.BreakOnError = csqlParameter.IsBreakOnErrorEnabled; csqlOptions.UsePreprocessor = csqlParameter.IsPreprocessorEnabled; csqlOptions.ConnectionParameter = dbConnectionParameter; csqlOptions.PreprocessorOptions = CreatePreprocessorArguments(substitutor, csqlParameter); csqlOptions.AddPreprocessorMacros(); csqlOptions.Verbosity.Level = csqlParameter.Verbosity; csqlOptions.NoLogo = false; csqlOptions.MaxResultColumnWidth = csqlParameter.MaxResultColumnWidth; return(csqlOptions); }