I want to pass in the default template parameters of a context controller T4 template from the CodeGenerator function for a new extension as such:
<#@ parameter type="System.String" name="ControllerName" #>
<#@ parameter type="System.String" name="ControllerRootName" #>
<#@ parameter type="System.String" name="Namespace" #>
<#@ parameter type="System.String" name="AreaName" #>
<#@ parameter type="System.String" name="ContextTypeName" #>
<#@ parameter type="System.String" name="ModelTypeName" #>
<#@ parameter type="System.String" name="ModelVariable" #>
<#@ parameter type="Microsoft.AspNet.Scaffolding.Core.Metadata.ModelMetadata" name="ModelMetadata" #>
<#@ parameter type="System.String" name="EntitySetVariable" #>
<#@ parameter type="System.Boolean" name="UseAsync" #>
<#@ parameter type="System.Boolean" name="IsOverpostingProtectionRequired" #>
<#@ parameter type="System.String" name="BindAttributeIncludeText" #>
<#@ parameter type="System.String" name ="OverpostingWarningMessage" #>
<#@ parameter type="System.Collections.Generic.HashSet<System.String>" name="RequiredNamespaces" #>
These are passed in through the scaffolding process from the Microsoft's MVC dll automatically but since I am overriding the scaffolding process with my own I want to pass them in myself in here:
public override void GenerateCode()
{
// Get the selected code type
var codeType = _viewModel.SelectedModelType.CodeType;
// Add the custom scaffolding item from T4 template.
this.AddFileFromTemplate(Context.ActiveProject,
"MVCBootstrapServerTable",
"CustomTextTemplate",
GetParameters(), //to provide the parameters here!
skipIfExists: false);
}
Is there an easy way to do this?