Exemplo n.º 1
0
        private async Task <SwaggerService> GenerateServiceAsync()
        {
            // TODO: Add a command for all 4 input types, then just call RunAsync on the selected generator

            if (SelectedSwaggerGenerator == 0)
            {
                if (!string.IsNullOrEmpty(InputSwaggerUrl))
                {
                    return(SwaggerService.FromUrl(InputSwaggerUrl));
                }
                else
                {
                    return(SwaggerService.FromJson(InputSwagger));
                }
            }
            else if (SelectedSwaggerGenerator == 1)
            {
                return(await WebApiToSwaggerCommand.RunAsync());
            }
            else if (SelectedSwaggerGenerator == 2)
            {
                var schema  = JsonSchema4.FromJson(InputJsonSchema);
                var service = new SwaggerService();
                service.Definitions[schema.TypeNameRaw ?? "MyType"] = schema;
                return(service);
            }
            else
            {
                return(await AssemblyTypeToSwaggerCommand.RunAsync());
            }
        }
 public async Task<string> GenerateSwaggerAsync()
 {
     try
     {
         var schema = JsonSchema4.FromJson(JsonSchema.Text);
         var service = new SwaggerService();
         service.Definitions[schema.TypeName ?? "MyType"] = schema;
         return service.ToJson();
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message, "Error loading the JSON Schema");
         return string.Empty; // TODO: What to do on error?
     }
 }
Exemplo n.º 3
0
        public async Task ExecuteAsync()
        {
            SwaggerService service = null;

            foreach (var codeGenerator in _codeGenerators)
            {
                if (!string.IsNullOrEmpty(codeGenerator.OutputFilePath))
                {
                    if (service == null)
                    {
                        service = await GenerateServiceAsync();
                    }

                    codeGenerator.Input = service;
                    await codeGenerator.RunAsync(null, null);

                    codeGenerator.Input = null;
                }
            }
        }
 /// <summary>Initializes a new instance of the <see cref="SwaggerServiceSchemaDefinitionAppender"/> class.</summary>
 /// <param name="service">The service.</param>
 public SwaggerServiceSchemaDefinitionAppender(SwaggerService service)
 {
     _service = service;
 }
Exemplo n.º 5
0
 /// <summary>Initializes a new instance of the <see cref="SwaggerServiceSchemaDefinitionAppender" /> class.</summary>
 /// <param name="service">The service.</param>
 /// <param name="typeNameGenerator">The type name generator.</param>
 public SwaggerServiceSchemaDefinitionAppender(SwaggerService service, ITypeNameGenerator typeNameGenerator)
 {
     _service           = service;
     _typeNameGenerator = typeNameGenerator;
 }
            internal string FromAssemblyType(string assemblyPath, string className)
            {
                var assembly = Assembly.LoadFrom(assemblyPath);
                var type = assembly.GetType(className);

                var service = new SwaggerService();
                var schema = JsonSchema4.FromType(type);
                service.Definitions[type.Name] = schema;
                return service.ToJson();
            }