Ejemplo n.º 1
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            #line 4 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
            if (Model.HasDescription)
            {
            #line default
            #line hidden
                this.Write("/// <summary>");

            #line 4 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(Model.Description, 0)));

            #line default
            #line hidden
                this.Write("</summary>\r\n");

            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("public enum ");

            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Name));

            #line default
            #line hidden
            this.Write("\r\n{\r\n");

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
            foreach (var pair in Model.Enums)
            {
            #line default
            #line hidden
                this.Write("    ");

            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(pair.Name));

            #line default
            #line hidden
                this.Write(" = ");

            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(pair.Value));

            #line default
            #line hidden
                this.Write(",\r\n");

            #line 9 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\EnumTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("\r\n[System.CodeDom.Compiler.GeneratedCode(\"NSwag\", \"");

            #line 4 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(SwaggerDocument.ToolchainVersion));

            #line default
            #line hidden
            this.Write("\")]\r\npublic interface I");

            #line 5 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller\r\n{\r\n");

            #line 7 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            foreach (var operation in Model.Operations)
            {
            #line default
            #line hidden

            #line 8 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                if (operation.HasSummary)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 8 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.Summary, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 9 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 10 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (parameter.HasDescription)
                    {
            #line default
            #line hidden
                        this.Write("    /// <param name=\"");

            #line 10 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden
                        this.Write("\">");

            #line 10 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(parameter.Description, 1)));

            #line default
            #line hidden
                        this.Write("</param>\r\n");

            #line 11 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }
                if (operation.HasResultDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <returns>");

            #line 11 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.ResultDescription, 1)));

            #line default
            #line hidden
                    this.Write("</returns>\r\n");

            #line 12 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                if (operation.IsDeprecated)
                {
            #line default
            #line hidden
                    this.Write("    [System.Obsolete]\r\n");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.ResultType));

            #line default
            #line hidden
                this.Write(" ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.OperationNameUpper));

            #line default
            #line hidden
                this.Write("Async(");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (Model.GenerateOptionalParameters && parameter.IsOptional)
                    {
            #line default
            #line hidden
                        this.Write(" = null");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }

            #line default
            #line hidden

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(");\r\n\r\n");

            #line 15 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}\r\n\r\n[System.CodeDom.Compiler.GeneratedCode(\"NSwag\", \"");

            #line 18 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(SwaggerDocument.ToolchainVersion));

            #line default
            #line hidden
            this.Write("\")]\r\n");

            #line 19 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            if (Model.HasBasePath)
            {
            #line default
            #line hidden
                this.Write("[System.Web.Http.RoutePrefix(\"");

            #line 20 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.BasePath));

            #line default
            #line hidden
                this.Write("\")]\r\n");

            #line 21 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("public partial class ");

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller : ");

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            if (Model.HasBaseClass)
            {
            #line default
            #line hidden

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.BaseClass));

            #line default
            #line hidden

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }
            else
            {
            #line default
            #line hidden
                this.Write("System.Web.Http.ApiController");

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write(" \r\n{\r\n    private I");

            #line 24 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller _implementation; \r\n\r\n    public ");

            #line 26 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller(I");

            #line 26 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller implementation)\r\n    {\r\n        _implementation = implementation; \r\n  " +
                       "  }\r\n");

            #line 30 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            foreach (var operation in Model.Operations)
            {
            #line default
            #line hidden

            #line 31 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                if (operation.HasSummary)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 31 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.Summary, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 32 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 33 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (parameter.HasDescription)
                    {
            #line default
            #line hidden
                        this.Write("    /// <param name=\"");

            #line 33 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden
                        this.Write("\">");

            #line 33 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(parameter.Description, 1)));

            #line default
            #line hidden
                        this.Write("</param>\r\n");

            #line 34 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }
                if (operation.HasResultDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <returns>");

            #line 34 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.ResultDescription, 1)));

            #line default
            #line hidden
                    this.Write("</returns>\r\n");

            #line 35 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                if (operation.IsDeprecated)
                {
            #line default
            #line hidden
                    this.Write("    [System.Obsolete]\r\n");

            #line 36 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    [System.Web.Http.Http");

            #line 36 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.HttpMethodUpper));

            #line default
            #line hidden
                this.Write(", System.Web.Http.Route(\"");

            #line 36 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.Path));

            #line default
            #line hidden
                this.Write("\")]\r\n    public ");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.ResultType));

            #line default
            #line hidden
                this.Write(" ");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.OperationNameUpper));

            #line default
            #line hidden
                this.Write("(");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (Model.GenerateOptionalParameters && parameter.IsOptional)
                    {
            #line default
            #line hidden
                        this.Write(" = null");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }

            #line default
            #line hidden

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(")\r\n    {\r\n        return _implementation.");

            #line 39 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.OperationNameUpper));

            #line default
            #line hidden
                this.Write("Async(");

            #line 39 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 39 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden

            #line 39 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 39 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(");\r\n    }\r\n\r\n");

            #line 42 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            #line 2 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            if (Model.HasDescription)
            {
            #line default
            #line hidden
                this.Write("/// <summary>");

            #line 3 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(Model.Description, 0)));

            #line default
            #line hidden
                this.Write("</summary>\r\n");

            #line 4 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden

            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            if (Model.HasDiscriminator)
            {
            #line default
            #line hidden
                this.Write("[Newtonsoft.Json.JsonConverter(typeof(JsonInheritanceConverter), \"");

            #line 6 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.Discriminator));

            #line default
            #line hidden
                this.Write("\")]\r\n");

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                foreach (var derivedClass in Model.DerivedClasses)
                {
            #line default
            #line hidden
                    this.Write("[JsonInheritanceAttribute(\"");

            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(derivedClass.Key));

            #line default
            #line hidden
                    this.Write("\", typeof(");

            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(derivedClass.Value));

            #line default
            #line hidden
                    this.Write("))]\r\n");

            #line 9 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden

            #line 10 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("[System.CodeDom.Compiler.GeneratedCode(\"NJsonSchema\", \"");

            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(JsonSchema4.ToolchainVersion));

            #line default
            #line hidden
            this.Write("\")]\r\npublic partial class ");

            #line 12 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(" ");

            #line 12 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Inheritance));

            #line default
            #line hidden
            this.Write("\r\n{\r\n");

            #line 14 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden

            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                foreach (var property in Model.Properties)
                {
            #line default
            #line hidden
                    this.Write("    private ");

            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden

            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    if (property.HasDefaultValue)
                    {
            #line default
            #line hidden
                        this.Write(" = ");

            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));

            #line default
            #line hidden

            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write(";\r\n");

            #line 17 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("\r\n");

            #line 19 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden

            #line 20 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            foreach (var property in Model.Properties)
            {
            #line default
            #line hidden

            #line 21 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (property.HasDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 22 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(property.Description, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 23 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    [Newtonsoft.Json.JsonProperty(\"");

            #line 24 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));

            #line default
            #line hidden
                this.Write("\", Required = ");

            #line 24 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.JsonPropertyRequired));

            #line default
            #line hidden

            #line 24 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (property.IsStringEnumArray)
                {
            #line default
            #line hidden
                    this.Write(", ItemConverterType = typeof(Newtonsoft.Json.Converters.StringEnumConverter)");

            #line 24 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write(")]\r\n");

            #line 25 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (property.RenderRequiredAttribute)
                {
            #line default
            #line hidden
                    this.Write("    [System.ComponentModel.DataAnnotations.Required]\r\n");

            #line 27 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden

            #line 28 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (property.RenderRangeAttribute)
                {
            #line default
            #line hidden
                    this.Write("    [System.ComponentModel.DataAnnotations.Range(");

            #line 29 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.RangeMinimumValue));

            #line default
            #line hidden
                    this.Write(", ");

            #line 29 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.RangeMaximumValue));

            #line default
            #line hidden
                    this.Write(")]\r\n");

            #line 30 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden

            #line 31 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (property.RenderStringLengthAttribute)
                {
            #line default
            #line hidden
                    this.Write("    [System.ComponentModel.DataAnnotations.StringLength(");

            #line 32 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.StringLengthMaximumValue));

            #line default
            #line hidden

            #line 32 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    if (property.StringLengthMinimumValue > 0)
                    {
            #line default
            #line hidden
                        this.Write(", MinimumLength = ");

            #line 32 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.StringLengthMinimumValue));

            #line default
            #line hidden

            #line 32 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write(")]\r\n");

            #line 33 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden

            #line 34 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (property.RenderRegularExpressionAttribute)
                {
            #line default
            #line hidden
                    this.Write("    [System.ComponentModel.DataAnnotations.RegularExpression(@\"");

            #line 35 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.RegularExpressionValue));

            #line default
            #line hidden
                    this.Write("\")]\r\n");

            #line 36 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden

            #line 37 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (property.IsStringEnum)
                {
            #line default
            #line hidden
                    this.Write("    [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumCo" +
                               "nverter))]\r\n");

            #line 39 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    public ");

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));

            #line default
            #line hidden
                this.Write(" ");

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                if (!Model.Inpc)
                {
            #line default
            #line hidden
                    this.Write(" { get; ");

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    if (property.HasSetter)
                    {
            #line default
            #line hidden
                        this.Write("set; ");

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write("}");

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    if (property.HasDefaultValue)
                    {
            #line default
            #line hidden
                        this.Write(" = ");

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));

            #line default
            #line hidden
                        this.Write(";");

            #line 40 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write("\r\n");

            #line 42 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }
                else
                {
            #line default
            #line hidden
                    this.Write("\r\n    {\r\n        get { return ");

            #line 45 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                    this.Write("; }\r\n");

            #line 46 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    if (property.HasSetter)
                    {
            #line default
            #line hidden
                        this.Write("        set \r\n        {\r\n            if (");

            #line 49 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                        this.Write(" != value)\r\n            {\r\n                ");

            #line 51 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                        this.Write(" = value; \r\n                RaisePropertyChanged();\r\n            }\r\n        }\r\n");

            #line 55 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write("    }\r\n");

            #line 57 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("\r\n");

            #line 59 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden

            #line 60 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            if (Model.HasAdditionalPropertiesType)
            {
            #line default
            #line hidden
                this.Write("    private System.Collections.Generic.IDictionary<string, ");

            #line 61 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.AdditionalPropertiesType));

            #line default
            #line hidden
                this.Write("> _additionalProperties = new System.Collections.Generic.Dictionary<string, ");

            #line 61 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.AdditionalPropertiesType));

            #line default
            #line hidden
                this.Write(">();\r\n\r\n    [Newtonsoft.Json.JsonExtensionData]\r\n    public System.Collections.Ge" +
                           "neric.IDictionary<string, ");

            #line 64 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.AdditionalPropertiesType));

            #line default
            #line hidden
                this.Write("> AdditionalProperties\r\n    {\r\n        get { return _additionalProperties; }\r\n   " +
                           "     set { _additionalProperties = value; }\r\n    }\r\n\r\n");

            #line 70 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden

            #line 71 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden
                this.Write("    public event System.ComponentModel.PropertyChangedEventHandler PropertyChange" +
                           "d;\r\n\r\n");

            #line 74 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("    public string ToJson() \r\n    {\r\n        return Newtonsoft.Json.JsonConvert.Se" +
                       "rializeObject(this");

            #line 77 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.JsonSerializerParameterCode));

            #line default
            #line hidden
            this.Write(");\r\n    }\r\n    \r\n    public static ");

            #line 80 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(" FromJson(string data)\r\n    {\r\n        return Newtonsoft.Json.JsonConvert.Deseria" +
                       "lizeObject<");

            #line 82 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(">(data");

            #line 82 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.JsonSerializerParameterCode));

            #line default
            #line hidden
            this.Write(");\r\n    }\r\n");

            #line 84 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden
                this.Write(@"
    protected virtual void RaisePropertyChanged([System.Runtime.CompilerServices.CallerMemberName] string propertyName = null)
    {
        var handler = PropertyChanged;
        if (handler != null) 
            handler(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    }
");

            #line 92 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("\r\n[System.CodeDom.Compiler.GeneratedCode(\"NSwag\", \"");

            #line 4 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(SwaggerDocument.ToolchainVersion));

            #line default
            #line hidden
            this.Write("\")]\r\npublic interface I");

            #line 5 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller\r\n{\r\n");

            #line 7 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            foreach (var operation in Model.Operations)
            {
            #line default
            #line hidden

            #line 8 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                if (operation.HasSummary)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 8 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.Summary, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 9 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 10 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (parameter.HasDescription)
                    {
            #line default
            #line hidden
                        this.Write("    /// <param name=\"");

            #line 10 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden
                        this.Write("\">");

            #line 10 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(parameter.Description, 1)));

            #line default
            #line hidden
                        this.Write("</param>\r\n");

            #line 11 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }
                if (operation.HasResultDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <returns>");

            #line 11 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.ResultDescription, 1)));

            #line default
            #line hidden
                    this.Write("</returns>\r\n");

            #line 12 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                if (operation.IsDeprecated)
                {
            #line default
            #line hidden
                    this.Write("    [System.Obsolete]\r\n");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.ResultType));

            #line default
            #line hidden
                this.Write(" ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.ActualOperationName));

            #line default
            #line hidden
                this.Write("Async(");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (Model.GenerateOptionalParameters && parameter.IsOptional)
                    {
            #line default
            #line hidden
                        this.Write(" = null");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }

            #line default
            #line hidden

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 13 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(");\r\n\r\n");

            #line 15 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}\r\n\r\n[System.CodeDom.Compiler.GeneratedCode(\"NSwag\", \"");

            #line 18 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(SwaggerDocument.ToolchainVersion));

            #line default
            #line hidden
            this.Write("\")]\r\n");

            #line 19 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            if (Model.HasBasePath)
            {
            #line default
            #line hidden
                this.Write("[System.Web.Http.RoutePrefix(\"");

            #line 20 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.BasePath));

            #line default
            #line hidden
                this.Write("\")]\r\n");

            #line 21 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("public partial class ");

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller : ");

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            if (Model.HasBaseClass)
            {
            #line default
            #line hidden

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.BaseClass));

            #line default
            #line hidden

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }
            else
            {
            #line default
            #line hidden
                this.Write("System.Web.Http.ApiController");

            #line 22 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write(" \r\n{\r\n    private I");

            #line 24 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller _implementation; \r\n\r\n    public ");

            #line 26 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller(I");

            #line 26 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller implementation)\r\n    {\r\n        _implementation = implementation; \r\n  " +
                       "  }\r\n\r\n");

            #line 31 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            foreach (var operation in Model.Operations)
            {
            #line default
            #line hidden

            #line 32 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                if (operation.HasSummary)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 32 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.Summary, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 33 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 34 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (parameter.HasDescription)
                    {
            #line default
            #line hidden
                        this.Write("    /// <param name=\"");

            #line 34 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden
                        this.Write("\">");

            #line 34 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(parameter.Description, 1)));

            #line default
            #line hidden
                        this.Write("</param>\r\n");

            #line 35 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }
                if (operation.HasResultDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <returns>");

            #line 35 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.ResultDescription, 1)));

            #line default
            #line hidden
                    this.Write("</returns>\r\n");

            #line 36 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                if (operation.IsDeprecated)
                {
            #line default
            #line hidden
                    this.Write("    [System.Obsolete]\r\n");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    [System.Web.Http.Http");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.HttpMethodUpper));

            #line default
            #line hidden
                this.Write(", System.Web.Http.Route(\"");

            #line 37 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.Path));

            #line default
            #line hidden
                this.Write("\")]\r\n    public ");

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                if (Model.WrapResponses)
                {
            #line default
            #line hidden
                    this.Write("async System.Threading.Tasks.Task<HttpResponseMessage>");

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                else
                {
            #line default
            #line hidden

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(operation.ResultType));

            #line default
            #line hidden

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write(" ");

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.ActualOperationName));

            #line default
            #line hidden
                this.Write("(");

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (Model.GenerateOptionalParameters && parameter.IsOptional)
                    {
            #line default
            #line hidden
                        this.Write(" = null");

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }

            #line default
            #line hidden

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 38 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(")\r\n    {\t\r\n");

            #line 40 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                if (Model.WrapResponses)
                {
            #line default
            #line hidden
                    this.Write("        var result = await _implementation.");

            #line 41 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(operation.ActualOperationName));

            #line default
            #line hidden
                    this.Write("Async(");

            #line 41 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    foreach (var parameter in operation.Parameters)
                    {
            #line default
            #line hidden

            #line 41 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden

            #line 41 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        if (!parameter.IsLast)
                        {
            #line default
            #line hidden
                            this.Write(", ");

            #line 41 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        }
                    }

            #line default
            #line hidden
                    this.Write(");\r\n\r\n\t    var status = (HttpStatusCode)Enum.Parse(typeof(HttpStatusCode), result" +
                               ".StatusCode);\r\n\t    HttpResponseMessage response = Request.CreateResponse(status" +
                               "");

            #line 44 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    if (operation.UnwrappedResultType != "void")
                    {
            #line default
            #line hidden
                        this.Write(", result.Result");

            #line 44 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write(");\r\n\t\r\n\t    foreach (var header in result.Headers)\r\n\t\t\tresponse.Headers[header.Ke" +
                               "y] = header.Value;\r\n\r\n\t    return response;\r\n");

            #line 50 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }
                else
                {
            #line default
            #line hidden
                    this.Write("        return _implementation.");

            #line 51 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(operation.ActualOperationName));

            #line default
            #line hidden
                    this.Write("Async(");

            #line 51 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                    foreach (var parameter in operation.Parameters)
                    {
            #line default
            #line hidden

            #line 51 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableName));

            #line default
            #line hidden

            #line 51 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        if (!parameter.IsLast)
                        {
            #line default
            #line hidden
                            this.Write(", ");

            #line 51 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                        }
                    }

            #line default
            #line hidden
                    this.Write(");\r\n");

            #line 52 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("        \r\n    }\r\n\r\n");

            #line 56 "C:\Data\NSwag\src\NSwag.CodeGeneration.CSharp\Templates\ControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            
            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(Model.HasDescription){
            
            #line default
            #line hidden
            this.Write("/// <summary>");
            
            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(Model.Description, 0)));
            
            #line default
            #line hidden
            this.Write("</summary>\r\n");
            
            #line 6 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            
            #line 6 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(Model.HasDiscriminator){
            
            #line default
            #line hidden
            this.Write("[Newtonsoft.Json.JsonConverter(typeof(JsonInheritanceConverter), \"");
            
            #line 6 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Discriminator));
            
            #line default
            #line hidden
            this.Write("\")]\r\n");
            
            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            this.Write("[Newtonsoft.Json.JsonObject(Newtonsoft.Json.MemberSerialization.OptIn)]\r\n[System." +
                    "CodeDom.Compiler.GeneratedCode(\"NJsonSchema\", \"");
            
            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(JsonSchema4.ToolchainVersion));
            
            #line default
            #line hidden
            this.Write("\")]\r\npublic partial class ");
            
            #line 9 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));
            
            #line default
            #line hidden
            this.Write(" ");
            
            #line 9 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Inheritance));
            
            #line default
            #line hidden
            this.Write("\r\n{");
            
            #line 10 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(Model.Inpc){
            
            #line default
            #line hidden
            
            #line 10 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
foreach(var property in Model.Properties){
            
            #line default
            #line hidden
            this.Write(" \r\n    private ");
            
            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));
            
            #line default
            #line hidden
            this.Write(" ");
            
            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));
            
            #line default
            #line hidden
            
            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(property.HasDefaultValue){
            
            #line default
            #line hidden
            this.Write(" = ");
            
            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));
            
            #line default
            #line hidden
            
            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            this.Write(";");
            
            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}}
            
            #line default
            #line hidden
            this.Write("\r\n\r\n");
            
            #line 14 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
foreach(var property in Model.Properties){
            
            #line default
            #line hidden
            
            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(property.HasDescription){
            
            #line default
            #line hidden
            this.Write("    /// <summary>");
            
            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(property.Description, 1)));
            
            #line default
            #line hidden
            this.Write("</summary>\r\n");
            
            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            this.Write("    [Newtonsoft.Json.JsonProperty(\"");
            
            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));
            
            #line default
            #line hidden
            this.Write("\", Required = ");
            
            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.JsonPropertyRequired));
            
            #line default
            #line hidden
            this.Write(")]\r\n");
            
            #line 17 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(property.RenderRequiredAttribute){
            
            #line default
            #line hidden
            this.Write("    [System.ComponentModel.DataAnnotations.Required]\r\n");
            
            #line 18 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            
            #line 18 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(property.IsStringEnum){
            
            #line default
            #line hidden
            this.Write("    [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumCo" +
                    "nverter))]\r\n");
            
            #line 19 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            this.Write("    public ");
            
            #line 20 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));
            
            #line default
            #line hidden
            this.Write(" ");
            
            #line 20 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));
            
            #line default
            #line hidden
            
            #line 20 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(!Model.Inpc){
            
            #line default
            #line hidden
            this.Write(" { get; set; }");
            
            #line 20 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(property.HasDefaultValue){
            
            #line default
            #line hidden
            this.Write(" = ");
            
            #line 20 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));
            
            #line default
            #line hidden
            this.Write(";");
            
            #line 20 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            
            #line 21 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
  }else{
            
            #line default
            #line hidden
            this.Write("\r\n    {\r\n        get { return ");
            
            #line 24 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));
            
            #line default
            #line hidden
            this.Write("; }\r\n        set \r\n        {\r\n            if (");
            
            #line 27 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));
            
            #line default
            #line hidden
            this.Write(" != value)\r\n            {\r\n                ");
            
            #line 29 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));
            
            #line default
            #line hidden
            this.Write(" = value; \r\n                RaisePropertyChanged();\r\n            }\r\n        }\r\n  " +
                    "  }");
            
            #line 33 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            this.Write("\r\n\r\n");
            
            #line 36 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            
            #line 36 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(Model.Inpc){
            
            #line default
            #line hidden
            this.Write("    public event System.ComponentModel.PropertyChangedEventHandler PropertyChange" +
                    "d;\r\n\r\n");
            
            #line 38 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            this.Write("    public string ToJson() \r\n    {\r\n        return Newtonsoft.Json.JsonConvert.Se" +
                    "rializeObject(this");
            
            #line 41 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.JsonConverters));
            
            #line default
            #line hidden
            this.Write(");\r\n    }\r\n    \r\n    public static ");
            
            #line 44 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));
            
            #line default
            #line hidden
            this.Write(" FromJson(string data)\r\n    {\r\n        return Newtonsoft.Json.JsonConvert.Deseria" +
                    "lizeObject<");
            
            #line 46 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));
            
            #line default
            #line hidden
            this.Write(">(data");
            
            #line 46 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.JsonConverters));
            
            #line default
            #line hidden
            this.Write(");\r\n    }\r\n");
            
            #line 48 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
if(Model.Inpc){
            
            #line default
            #line hidden
            this.Write(@"    
    protected virtual void RaisePropertyChanged([System.Runtime.CompilerServices.CallerMemberName] string propertyName = null)
    {
        var handler = PropertyChanged;
        if (handler != null) 
            handler(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    }
");
            
            #line 56 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
}
            
            #line default
            #line hidden
            this.Write("}");
            return this.GenerationEnvironment.ToString();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            #line 2 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
            if (Model.HasDescription)
            {
            #line default
            #line hidden
                this.Write("/// <summary>");

            #line 2 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(Model.Description, 0)));

            #line default
            #line hidden
                this.Write("</summary>\r\n");

            #line 3 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("[System.CodeDom.Compiler.GeneratedCode(\"NJsonSchema\", \"");

            #line 3 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(JsonSchema4.ToolchainVersion));

            #line default
            #line hidden
            this.Write("\")]\r\npublic enum ");

            #line 4 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Name));

            #line default
            #line hidden
            this.Write("\r\n{\r\n");

            #line 6 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
            foreach (var pair in Model.Enums)
            {
                if (Model.IsStringEnum)
                {
            #line default
            #line hidden
                    this.Write("    [System.Runtime.Serialization.EnumMember(Value = \"");

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(pair.Value));

            #line default
            #line hidden
                    this.Write("\")]\r\n");

            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    ");

            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(pair.Name));

            #line default
            #line hidden
                this.Write(" = ");

            #line 8 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(pair.InternalValue));

            #line default
            #line hidden
                this.Write(",\r\n\r\n");

            #line 10 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration.CSharp\Templates\EnumTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            #line 4 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.HasDescription)
            {
            #line default
            #line hidden
                this.Write("/// <summary>");

            #line 4 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(Model.Description, 0)));

            #line default
            #line hidden
                this.Write("</summary>\r\n");

            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("public partial class ");

            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(" ");

            #line 5 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Inheritance));

            #line default
            #line hidden
            this.Write("\r\n{");

            #line 6 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden

            #line 6 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                foreach (var property in Model.Properties)
                {
            #line default
            #line hidden
                    this.Write(" \r\n    private ");

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));

            #line default
            #line hidden
                    this.Write(" _");

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    if (property.HasDefaultValue)
                    {
            #line default
            #line hidden
                        this.Write(" = ");

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));

            #line default
            #line hidden

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write(";");

            #line 7 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }
            }

            #line default
            #line hidden
            this.Write("\r\n\r\n");

            #line 10 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            foreach (var property in Model.Properties)
            {
            #line default
            #line hidden

            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                if (property.HasDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 11 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(property.Description, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 12 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    [JsonProperty(\"");

            #line 12 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));

            #line default
            #line hidden
                this.Write("\", Required = ");

            #line 12 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.Required));

            #line default
            #line hidden
                this.Write(")]\r\n");

            #line 13 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                if (property.IsStringEnum)
                {
            #line default
            #line hidden
                    this.Write("    [JsonConverter(typeof(StringEnumConverter))]\r\n");

            #line 14 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    public ");

            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));

            #line default
            #line hidden
                this.Write(" ");

            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden

            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                if (!Model.Inpc)
                {
            #line default
            #line hidden
                    this.Write(" { get; set; }");

            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    if (property.HasDefaultValue)
                    {
            #line default
            #line hidden
                        this.Write(" = ");

            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));

            #line default
            #line hidden
                        this.Write(";");

            #line 15 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden

            #line 16 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }
                else
                {
            #line default
            #line hidden
                    this.Write("\r\n    {\r\n        get { return _");

            #line 19 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                    this.Write("; }\r\n        set \r\n        {\r\n            if (_");

            #line 22 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                    this.Write(" != value)\r\n            {\r\n                _");

            #line 24 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                    this.Write(" = value; \r\n                RaisePropertyChanged();\r\n            }\r\n        }\r\n  " +
                               "  }");

            #line 28 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("\r\n\r\n");

            #line 31 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden

            #line 31 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden
                this.Write("    public event PropertyChangedEventHandler PropertyChanged;\r\n\r\n");

            #line 33 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("    public string ToJson() \r\n    {\r\n        return JsonConvert.SerializeObject(th" +
                       "is);\r\n    }\r\n    \r\n    public static ");

            #line 39 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(" FromJson(string data)\r\n    {\r\n        return JsonConvert.DeserializeObject<");

            #line 41 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(">(data);\r\n    }\r\n");

            #line 43 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden
                this.Write(@"    
    protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)
    {
        var handler = PropertyChanged;
        if (handler != null) 
            handler(this, new PropertyChangedEventArgs(propertyName));
    }
");

            #line 51 "C:\Data\Projects\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            this.Write("public interface I");

            #line 4 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller\r\n{\r\n");

            #line 6 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            foreach (var operation in Model.Operations)
            {
            #line default
            #line hidden

            #line 7 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                if (operation.HasSummary)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 7 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.Summary, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 8 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                }
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 9 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    if (parameter.HasDescription)
                    {
            #line default
            #line hidden
                        this.Write("    /// <param name=\"");

            #line 9 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableNameLower));

            #line default
            #line hidden
                        this.Write("\">");

            #line 9 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(parameter.Description, 1)));

            #line default
            #line hidden
                        this.Write("</param>\r\n");

            #line 10 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    }
                }
                if (operation.HasResultDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <returns>");

            #line 10 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.ResultDescription, 1)));

            #line default
            #line hidden
                    this.Write("</returns>\r\n");

            #line 11 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                }
                if (operation.IsDeprecated)
                {
            #line default
            #line hidden
                    this.Write("    [Obsolete]\r\n");

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    ");

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.ResultType));

            #line default
            #line hidden
                this.Write(" ");

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.OperationNameUpper));

            #line default
            #line hidden
                this.Write("Async(");

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableNameLower));

            #line default
            #line hidden

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 12 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(");\r\n\r\n");

            #line 14 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}\r\n\r\npublic class ");

            #line 17 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller : ");

            #line 17 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            if (Model.HasBaseClass)
            {
            #line default
            #line hidden

            #line 17 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.BaseClass));

            #line default
            #line hidden

            #line 17 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            }
            else
            {
            #line default
            #line hidden
                this.Write("ApiController");

            #line 17 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write(" \r\n{\r\n    private I");

            #line 19 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller _implementation; \r\n\r\n    public ");

            #line 21 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller(I");

            #line 21 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write("Controller implementation)\r\n    {\r\n        _implementation = implementation; \r\n  " +
                       "  }\r\n");

            #line 25 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            foreach (var operation in Model.Operations)
            {
            #line default
            #line hidden

            #line 26 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                if (operation.HasSummary)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 26 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.Summary, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n");

            #line 27 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                }
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 28 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    if (parameter.HasDescription)
                    {
            #line default
            #line hidden
                        this.Write("    /// <param name=\"");

            #line 28 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableNameLower));

            #line default
            #line hidden
                        this.Write("\">");

            #line 28 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(parameter.Description, 1)));

            #line default
            #line hidden
                        this.Write("</param>\r\n");

            #line 29 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    }
                }
                if (operation.HasResultDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <returns>");

            #line 29 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(operation.ResultDescription, 1)));

            #line default
            #line hidden
                    this.Write("</returns>\r\n");

            #line 30 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                }
                if (operation.IsDeprecated)
                {
            #line default
            #line hidden
                    this.Write("    [Obsolete]\r\n");

            #line 31 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    [Http");

            #line 31 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.HttpMethodUpper));

            #line default
            #line hidden
                this.Write(", Route(\"");

            #line 31 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.Path));

            #line default
            #line hidden
                this.Write("\")]\r\n    public ");

            #line 32 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.ResultType));

            #line default
            #line hidden
                this.Write(" ");

            #line 32 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.OperationNameUpper));

            #line default
            #line hidden
                this.Write("(");

            #line 32 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 32 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 32 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableNameLower));

            #line default
            #line hidden

            #line 32 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 32 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(")\r\n    {\r\n        return _implementation.");

            #line 34 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(operation.OperationNameUpper));

            #line default
            #line hidden
                this.Write("Async(");

            #line 34 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                foreach (var parameter in operation.Parameters)
                {
            #line default
            #line hidden

            #line 34 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(parameter.VariableNameLower));

            #line default
            #line hidden

            #line 34 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    if (!parameter.IsLast)
                    {
            #line default
            #line hidden
                        this.Write(", ");

            #line 34 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
                    }
                }

            #line default
            #line hidden
                this.Write(");\r\n    }\r\n\r\n");

            #line 37 "C:\Data\Projects\NSwag\src\NSwag.CodeGeneration\CodeGenerators\CSharp\Templates\WebApiControllerTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }
 public static string Csharpdocs(string input, int tabCount)
 {
     return(ConversionUtilities.ConvertCSharpDocBreaks(input, tabCount));
 }
Ejemplo n.º 10
0
        /// <summary>
        /// Create the template output
        /// </summary>
        public virtual string TransformText()
        {
            #line 5 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.HasDescription)
            {
            #line default
            #line hidden
                this.Write("/// <summary>");

            #line 5 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(Model.Description, 0)));

            #line default
            #line hidden
                this.Write("</summary>\r\n[Description(\"");

            #line 6 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.Description));

            #line default
            #line hidden
                this.Write("\")]\r\n");

            #line 7 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden

            #line 7 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.HasDiscriminator)
            {
            #line default
            #line hidden
                this.Write("[JsonConverter(typeof(JsonInheritanceConverter), \"");

            #line 7 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(Model.Discriminator));

            #line default
            #line hidden
                this.Write("\")]\r\n");

            #line 8 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("[JsonObject(MemberSerialization.OptIn)]\r\n[GeneratedCode(\"NJsonSchema\", \"");

            #line 9 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(JsonSchema4.ToolchainVersion));

            #line default
            #line hidden
            this.Write("\")]\r\npublic partial class ");

            #line 10 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(" ");

            #line 10 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Inheritance));

            #line default
            #line hidden
            this.Write("\r\n{");

            #line 11 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden

            #line 11 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                foreach (var property in Model.Properties)
                {
            #line default
            #line hidden
                    this.Write(" \r\n    private ");

            #line 12 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));

            #line default
            #line hidden
                    this.Write(" ");

            #line 12 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden

            #line 12 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    if (property.HasDefaultValue)
                    {
            #line default
            #line hidden
                        this.Write(" = ");

            #line 12 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));

            #line default
            #line hidden

            #line 12 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden
                    this.Write(";");

            #line 12 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }
            }

            #line default
            #line hidden
            this.Write("\r\n\r\n");

            #line 15 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            foreach (var property in Model.Properties)
            {
            #line default
            #line hidden

            #line 16 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                if (property.HasDescription)
                {
            #line default
            #line hidden
                    this.Write("    /// <summary>");

            #line 16 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(ConversionUtilities.ConvertCSharpDocBreaks(property.Description, 1)));

            #line default
            #line hidden
                    this.Write("</summary>\r\n    [Description(\"");

            #line 17 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.Description));

            #line default
            #line hidden
                    this.Write("\")]\r\n");

            #line 18 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    [JsonProperty(\"");

            #line 18 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.Name));

            #line default
            #line hidden
                this.Write("\", Required = ");

            #line 18 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.JsonPropertyRequired));

            #line default
            #line hidden
                this.Write(")]\r\n");

            #line 19 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                if (property.RenderRequiredAttribute)
                {
            #line default
            #line hidden
                    this.Write("    [Required]\r\n");

            #line 20 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden

            #line 20 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                if (property.IsStringEnum)
                {
            #line default
            #line hidden
                    this.Write("    [JsonConverter(typeof(StringEnumConverter))]\r\n");

            #line 21 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("    public ");

            #line 22 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.Type));

            #line default
            #line hidden
                this.Write(" ");

            #line 22 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                this.Write(this.ToStringHelper.ToStringWithCulture(property.PropertyName));

            #line default
            #line hidden

            #line 22 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                if (!Model.Inpc)
                {
            #line default
            #line hidden
                    this.Write(" { get; set; }");

            #line 22 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    if (property.HasDefaultValue)
                    {
            #line default
            #line hidden
                        this.Write(" = ");

            #line 22 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                        this.Write(this.ToStringHelper.ToStringWithCulture(property.DefaultValue));

            #line default
            #line hidden
                        this.Write(";");

            #line 22 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    }

            #line default
            #line hidden

            #line 23 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }
                else
                {
            #line default
            #line hidden
                    this.Write("\r\n    {\r\n        get { return ");

            #line 26 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                    this.Write("; }\r\n        set \r\n        {\r\n            if (");

            #line 29 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                    this.Write(" != value)\r\n            {\r\n                ");

            #line 31 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                    this.Write(this.ToStringHelper.ToStringWithCulture(property.FieldName));

            #line default
            #line hidden
                    this.Write(" = value; \r\n                RaisePropertyChanged();\r\n            }\r\n        }\r\n  " +
                               "  }");

            #line 35 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
                }

            #line default
            #line hidden
                this.Write("\r\n\r\n");

            #line 38 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden

            #line 38 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden
                this.Write("    public event PropertyChangedEventHandler PropertyChanged;\r\n\r\n");

            #line 40 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("    public string ToJson() \r\n    {\r\n        return JsonConvert.SerializeObject(th" +
                       "is");

            #line 43 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.JsonConverters));

            #line default
            #line hidden
            this.Write(");\r\n    }\r\n    \r\n    public static ");

            #line 46 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(" FromJson(string data)\r\n    {\r\n        return JsonConvert.DeserializeObject<");

            #line 48 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.Class));

            #line default
            #line hidden
            this.Write(">(data");

            #line 48 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            this.Write(this.ToStringHelper.ToStringWithCulture(Model.JsonConverters));

            #line default
            #line hidden
            this.Write(");\r\n    }\r\n");

            #line 50 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            if (Model.Inpc)
            {
            #line default
            #line hidden
                this.Write(@"    
    protected virtual void RaisePropertyChanged([CallerMemberName] string propertyName = null)
    {
        var handler = PropertyChanged;
        if (handler != null) 
            handler(this, new PropertyChangedEventArgs(propertyName));
    }
");

            #line 58 "E:\Projects\Github\RickZee\NJsonSchema\src\NJsonSchema.CodeGeneration\CSharp\Templates\ClassTemplate.tt"
            }

            #line default
            #line hidden
            this.Write("}");
            return(this.GenerationEnvironment.ToString());
        }