Microsoft.VisualStudio.R.Package.Sql.Publish.SProcScriptGenerator.FillSprocTableTemplate C# (CSharp) Method

FillSprocTableTemplate() private method

private FillSprocTableTemplate ( string rFilePath, string sprocName, string codeTableName, SqlQuoteType quoteType ) : string
rFilePath string
sprocName string
codeTableName string
quoteType SqlQuoteType
return string
        private string FillSprocTableTemplate(string rFilePath, string sprocName, string codeTableName, SqlQuoteType quoteType) {
            var sprocTemplateFile = rFilePath.ToSProcFilePath();
            var sprocTemplate = GetSqlFileContent(sprocTemplateFile);

            var declarations = Invariant(
$@"BEGIN
DECLARE @RCodeQuery NVARCHAR(max);
DECLARE @RCode NVARCHAR(max);
DECLARE @ParmDefinition NVARCHAR(max);

SET @RCodeQuery = N'SELECT @RCodeOUT = RCode FROM {codeTableName.ToSqlName(quoteType)} WHERE SProcName = ''{sprocName}''';
SET @ParmDefinition = N'@RCodeOUT NVARCHAR(max) OUTPUT';

EXEC sp_executesql @RCodeQuery, @ParmDefinition, @RCodeOUT=@RCode OUTPUT;
SELECT @RCode;
");
            sprocTemplate = sprocTemplate.Replace("BEGIN", declarations);
            sprocTemplate = sprocTemplate.Replace("N'_RCODE_'", "@RCode");

            var sqlQuery = GetSqlFileContent(rFilePath.ToQueryFilePath()).Trim();
            return sprocTemplate.Replace(InputQueryTemplate, sqlQuery);
        }