[aspnetcore] Fix duplicate enums (#5059)

* [aspnetcore] Fix duplicate generation of enums

Fixes template issue where enums defined within a class were generated
regardless of whether they were a complexType (externally defined
"model") or an inlined enum.
This commit is contained in:
Jim Schubert 2020-01-20 16:37:15 -05:00 committed by GitHub
parent 7599531960
commit 2bc3c196e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 38 additions and 8 deletions

View File

@ -16,7 +16,20 @@ namespace {{packageName}}.Models
/// </summary>
[DataContract]
public partial class {{classname}} : {{#parent}}{{{parent}}}, {{/parent}}IEquatable<{{classname}}>
{ {{#vars}}{{#isEnum}}{{>enumClass}}{{/isEnum}}{{#items.isEnum}}{{#items}}{{>enumClass}}{{/items}}{{/items.isEnum}}
{
{{#vars}}
{{#items.isEnum}}
{{#items}}
{{^complexType}}
{{>enumClass}}
{{/complexType}}
{{/items}}
{{/items.isEnum}}
{{#isEnum}}
{{^complexType}}
{{>enumClass}}
{{/complexType}}
{{/isEnum}}
/// <summary>
/// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}}
/// </summary>
@ -34,6 +47,7 @@ namespace {{packageName}}.Models
public {{{dataType}}} {{name}} { get; {{#isReadOnly}}private {{/isReadOnly}}set; }{{#defaultValue}} = {{{defaultValue}}};{{/defaultValue}}
{{/isEnum}}
{{#hasMore}}
{{/hasMore}}
{{/vars}}

View File

@ -18,7 +18,20 @@ namespace {{modelPackage}}
/// </summary>
[DataContract]
public {{#modelClassModifier}}{{modelClassModifier}} {{/modelClassModifier}}class {{classname}} : {{#parent}}{{{parent}}}, {{/parent}}IEquatable<{{classname}}>
{ {{#vars}}{{#isEnum}}{{^isModel}}{{>enumClass}}{{/isModel}}{{/isEnum}}{{#items.isEnum}}{{^isModel}}{{#items}}{{>enumClass}}{{/items}}{{/isModel}}{{/items.isEnum}}
{
{{#vars}}
{{#items.isEnum}}
{{#items}}
{{^complexType}}
{{>enumClass}}
{{/complexType}}
{{/items}}
{{/items.isEnum}}
{{#isEnum}}
{{^complexType}}
{{>enumClass}}
{{/complexType}}
{{/isEnum}}
/// <summary>
/// {{^description}}Gets or Sets {{{name}}}{{/description}}{{#description}}{{description}}{{/description}}
/// </summary>{{#description}}
@ -37,6 +50,7 @@ namespace {{modelPackage}}
public {{{dataType}}} {{name}} { get; {{#isReadOnly}}private {{/isReadOnly}}set; }{{#defaultValue}} = {{{defaultValue}}};{{/defaultValue}}
{{/isEnum}}
{{#hasMore}}
{{/hasMore}}
{{/vars}}

View File

@ -25,7 +25,7 @@ namespace Org.OpenAPITools.Models
/// </summary>
[DataContract]
public partial class ApiResponse : IEquatable<ApiResponse>
{
{
/// <summary>
/// Gets or Sets Code
/// </summary>

View File

@ -25,7 +25,7 @@ namespace Org.OpenAPITools.Models
/// </summary>
[DataContract]
public partial class Category : IEquatable<Category>
{
{
/// <summary>
/// Gets or Sets Id
/// </summary>

View File

@ -25,7 +25,7 @@ namespace Org.OpenAPITools.Models
/// </summary>
[DataContract]
public partial class Order : IEquatable<Order>
{
{
/// <summary>
/// Gets or Sets Id
/// </summary>
@ -50,6 +50,7 @@ namespace Org.OpenAPITools.Models
[DataMember(Name="shipDate", EmitDefaultValue=false)]
public DateTime ShipDate { get; set; }
/// <summary>
/// Order Status
/// </summary>

View File

@ -25,7 +25,7 @@ namespace Org.OpenAPITools.Models
/// </summary>
[DataContract]
public partial class Pet : IEquatable<Pet>
{
{
/// <summary>
/// Gets or Sets Id
/// </summary>
@ -58,6 +58,7 @@ namespace Org.OpenAPITools.Models
[DataMember(Name="tags", EmitDefaultValue=false)]
public List<Tag> Tags { get; set; }
/// <summary>
/// pet status in the store
/// </summary>

View File

@ -25,7 +25,7 @@ namespace Org.OpenAPITools.Models
/// </summary>
[DataContract]
public partial class Tag : IEquatable<Tag>
{
{
/// <summary>
/// Gets or Sets Id
/// </summary>

View File

@ -25,7 +25,7 @@ namespace Org.OpenAPITools.Models
/// </summary>
[DataContract]
public partial class User : IEquatable<User>
{
{
/// <summary>
/// Gets or Sets Id
/// </summary>