public void Execute(GeneratorExecutionContext context) { WebApiSyntaxReceiver syntaxReceiver = (WebApiSyntaxReceiver)context.SyntaxReceiver; GenerateCommandClass(context, syntaxReceiver); GenerateQueryClass(context, syntaxReceiver); }
private void GenerateQueryClass(GeneratorExecutionContext context, WebApiSyntaxReceiver syntaxReceiver) { string QueryClassTemplate = LoadTemplate(context, filename: "QueryClassTemplate.txt"); StringBuilder commandSource = new StringBuilder(); foreach (var query in syntaxReceiver.Queries) { var queryCommandName = query.Identifier.ValueText; var queryReturnType = LookupIRequestGenericType(query); var commandComments = query.GetLeadingTrivia().ToString(); commandSource.AppendLine(@$ " {commandComments}