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