private List <LogKeyValueItem> GenerateContracts(List <ApiOperationSchemaMap> operationSchemaMappings) { if (operationSchemaMappings == null) { throw new ArgumentNullException(nameof(operationSchemaMappings)); } var sgContractModels = new List <SyntaxGeneratorContractModel>(); var sgContractParameters = new List <SyntaxGeneratorContractParameter>(); var sgContractResults = new List <SyntaxGeneratorContractResult>(); var sgContractInterfaces = new List <SyntaxGeneratorContractInterface>(); foreach (var basePathSegmentName in projectOptions.BasePathSegmentNames) { var generatorModels = new SyntaxGeneratorContractModels(projectOptions, operationSchemaMappings, basePathSegmentName); var generatedModels = generatorModels.GenerateSyntaxTrees(); sgContractModels.AddRange(generatedModels); var generatorParameters = new SyntaxGeneratorContractParameters(projectOptions, basePathSegmentName); var generatedParameters = generatorParameters.GenerateSyntaxTrees(); sgContractParameters.AddRange(generatedParameters); var generatorResults = new SyntaxGeneratorContractResults(projectOptions, basePathSegmentName); var generatedResults = generatorResults.GenerateSyntaxTrees(); sgContractResults.AddRange(generatedResults); var generatorInterfaces = new SyntaxGeneratorContractInterfaces(projectOptions, basePathSegmentName); var generatedInterfaces = generatorInterfaces.GenerateSyntaxTrees(); sgContractInterfaces.AddRange(generatedInterfaces); } ApiGeneratorHelper.CollectMissingContractModelFromOperationSchemaMappings( projectOptions, operationSchemaMappings, sgContractModels); var logItems = new List <LogKeyValueItem>(); foreach (var sg in sgContractModels) { logItems.Add(sg.ToFile()); } foreach (var sg in sgContractParameters) { logItems.Add(sg.ToFile()); } foreach (var sg in sgContractResults) { logItems.Add(sg.ToFile()); } foreach (var sg in sgContractInterfaces) { logItems.Add(sg.ToFile()); } return(logItems); }
private void GenerateContracts( List <ApiOperationSchemaMap> operationSchemaMappings) { ArgumentNullException.ThrowIfNull(operationSchemaMappings); var sgContractModels = new List <SyntaxGeneratorContractModel>(); var sgContractParameters = new List <SyntaxGeneratorContractParameter>(); var sgContractResults = new List <SyntaxGeneratorContractResult>(); var sgContractInterfaces = new List <SyntaxGeneratorContractInterface>(); foreach (var basePathSegmentName in projectOptions.BasePathSegmentNames) { var generatorModels = new SyntaxGeneratorContractModels(logger, projectOptions, operationSchemaMappings, basePathSegmentName); var generatedModels = generatorModels.GenerateSyntaxTrees(); sgContractModels.AddRange(generatedModels); var generatorParameters = new SyntaxGeneratorContractParameters(logger, projectOptions, basePathSegmentName); var generatedParameters = generatorParameters.GenerateSyntaxTrees(); sgContractParameters.AddRange(generatedParameters); var generatorResults = new SyntaxGeneratorContractResults(logger, projectOptions, basePathSegmentName); var generatedResults = generatorResults.GenerateSyntaxTrees(); sgContractResults.AddRange(generatedResults); var generatorInterfaces = new SyntaxGeneratorContractInterfaces(logger, projectOptions, basePathSegmentName); var generatedInterfaces = generatorInterfaces.GenerateSyntaxTrees(); sgContractInterfaces.AddRange(generatedInterfaces); } ApiGeneratorHelper.CollectMissingContractModelFromOperationSchemaMappings( logger, projectOptions, operationSchemaMappings, sgContractModels); foreach (var sg in sgContractModels) { sg.ToFile(); } foreach (var sg in sgContractParameters) { sg.ToFile(); } foreach (var sg in sgContractResults) { sg.ToFile(); } foreach (var sg in sgContractInterfaces) { sg.ToFile(); } }
private void GenerateContracts( List <ApiOperationSchemaMap> operationSchemaMappings) { ArgumentNullException.ThrowIfNull(operationSchemaMappings); var sgContractModels = new List <SyntaxGeneratorContractModel>(); var sgContractParameters = new List <SyntaxGeneratorContractParameter>(); foreach (var basePathSegmentName in projectOptions.BasePathSegmentNames) { var generatorModels = new SyntaxGeneratorContractModels(logger, apiProjectOptions, operationSchemaMappings, basePathSegmentName); var generatedModels = generatorModels.GenerateSyntaxTrees(); sgContractModels.AddRange(generatedModels); var generatorParameters = new SyntaxGeneratorContractParameters(logger, apiProjectOptions, basePathSegmentName); var generatedParameters = generatorParameters.GenerateSyntaxTrees(); sgContractParameters.AddRange(generatedParameters); } ApiGeneratorHelper.CollectMissingContractModelFromOperationSchemaMappings( logger, apiProjectOptions, operationSchemaMappings, sgContractModels); foreach (var sg in sgContractModels) { sg.IsForClient = true; sg.UseOwnFolder = false; sg.ToFile(); } foreach (var sg in sgContractParameters) { sg.IsForClient = true; sg.UseOwnFolder = false; sg.ToFile(); } }