diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java
index d7d1f3e6da4..a1d0889b25c 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AspNetCoreServerCodegen.java
@@ -327,6 +327,7 @@ public class AspNetCoreServerCodegen extends AbstractCSharpCodegen {
supportingFiles.add(new SupportingFile("Solution.mustache", "", packageName + ".sln"));
supportingFiles.add(new SupportingFile("gitignore", packageFolder, ".gitignore"));
supportingFiles.add(new SupportingFile("validateModel.mustache", packageFolder + File.separator + "Attributes", "ValidateModelStateAttribute.cs"));
+ supportingFiles.add(new SupportingFile("typeConverter.mustache", packageFolder + File.separator + "Converters", "CustomEnumConverter.cs"));
supportingFiles.add(new SupportingFile("Project.csproj.mustache", packageFolder, packageName + ".csproj"));
if (!isLibrary) {
supportingFiles.add(new SupportingFile("Dockerfile.mustache", packageFolder, "Dockerfile"));
diff --git a/modules/openapi-generator/src/main/resources/aspnetcore/2.1/enumClass.mustache b/modules/openapi-generator/src/main/resources/aspnetcore/2.1/enumClass.mustache
index a8a68b99844..8a932b5ade6 100644
--- a/modules/openapi-generator/src/main/resources/aspnetcore/2.1/enumClass.mustache
+++ b/modules/openapi-generator/src/main/resources/aspnetcore/2.1/enumClass.mustache
@@ -5,7 +5,8 @@
{{#description}}
/// {{{description}}}
{{/description}}
- {{#allowableValues}}{{#enumVars}}{{#-first}}{{#isString}}[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]{{/isString}}{{/-first}}{{/enumVars}}{{/allowableValues}}
+ {{#allowableValues}}{{#enumVars}}{{#-first}}{{#isString}}[TypeConverter(typeof(CustomEnumConverter<{{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}>))]
+ [JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]{{/isString}}{{/-first}}{{/enumVars}}{{/allowableValues}}
public enum {{#datatypeWithEnum}}{{.}}{{/datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}
{
{{#allowableValues}}{{#enumVars}}
diff --git a/modules/openapi-generator/src/main/resources/aspnetcore/2.1/model.mustache b/modules/openapi-generator/src/main/resources/aspnetcore/2.1/model.mustache
index e198e2447e7..bf1cb3902fc 100644
--- a/modules/openapi-generator/src/main/resources/aspnetcore/2.1/model.mustache
+++ b/modules/openapi-generator/src/main/resources/aspnetcore/2.1/model.mustache
@@ -3,9 +3,11 @@ using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
+using {{packageName}}.Converters;
{{#models}}
{{#model}}
diff --git a/modules/openapi-generator/src/main/resources/aspnetcore/2.1/typeConverter.mustache b/modules/openapi-generator/src/main/resources/aspnetcore/2.1/typeConverter.mustache
new file mode 100644
index 00000000000..dadf3a0260d
--- /dev/null
+++ b/modules/openapi-generator/src/main/resources/aspnetcore/2.1/typeConverter.mustache
@@ -0,0 +1,33 @@
+using System;
+using System.ComponentModel;
+using System.Globalization;
+using Newtonsoft.Json;
+
+namespace {{packageName}}.Converters
+{
+ ///
+ /// Custom string to enum converter
+ ///
+ public class CustomEnumConverter : TypeConverter
+ {
+ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
+ {
+ if (sourceType == typeof(string))
+ {
+ return true;
+ }
+ return base.CanConvertFrom(context, sourceType);
+ }
+
+ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
+ {
+ var s = value as string;
+ if (string.IsNullOrEmpty(s))
+ {
+ return null;
+ }
+
+ return JsonConvert.DeserializeObject(@"""" + value.ToString() + @"""");
+ }
+ }
+}
diff --git a/samples/server/petstore/aspnetcore/.openapi-generator/VERSION b/samples/server/petstore/aspnetcore/.openapi-generator/VERSION
index 06b5019af3f..83a328a9227 100644
--- a/samples/server/petstore/aspnetcore/.openapi-generator/VERSION
+++ b/samples/server/petstore/aspnetcore/.openapi-generator/VERSION
@@ -1 +1 @@
-4.0.1-SNAPSHOT
\ No newline at end of file
+4.1.0-SNAPSHOT
\ No newline at end of file
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/PetApi.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/PetApi.cs
index 0df59c9002d..4a382880df2 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/PetApi.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/PetApi.cs
@@ -16,8 +16,8 @@ using Swashbuckle.AspNetCore.SwaggerGen;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
using Org.OpenAPITools.Attributes;
-using Org.OpenAPITools.Models;
using Microsoft.AspNetCore.Authorization;
+using Org.OpenAPITools.Models;
namespace Org.OpenAPITools.Controllers
{
@@ -38,10 +38,10 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("AddPet")]
public virtual IActionResult AddPet([FromBody]Pet body)
{
+
//TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(405);
-
throw new NotImplementedException();
}
@@ -55,12 +55,12 @@ namespace Org.OpenAPITools.Controllers
[Route("/v2/pet/{petId}")]
[ValidateModelState]
[SwaggerOperation("DeletePet")]
- public virtual IActionResult DeletePet([FromRoute][Required]long? petId, [FromHeader]string apiKey)
+ public virtual IActionResult DeletePet([FromRoute][Required]long petId, [FromHeader]string apiKey)
{
+
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
throw new NotImplementedException();
}
@@ -78,12 +78,11 @@ namespace Org.OpenAPITools.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "successful operation")]
public virtual IActionResult FindPetsByStatus([FromQuery][Required()]List status)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(List));
-
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
string exampleJson = null;
exampleJson = "{\n \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ],\n \"name\" : \"doggie\",\n \"id\" : 0,\n \"category\" : {\n \"name\" : \"name\",\n \"id\" : 6\n },\n \"tags\" : [ {\n \"name\" : \"name\",\n \"id\" : 1\n }, {\n \"name\" : \"name\",\n \"id\" : 1\n } ],\n \"status\" : \"available\"\n}";
exampleJson = "\n 123456789\n doggie\n \n aeiou\n \n \n \n aeiou\n";
@@ -109,12 +108,11 @@ namespace Org.OpenAPITools.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(List), description: "successful operation")]
public virtual IActionResult FindPetsByTags([FromQuery][Required()]List tags)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(List));
-
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
string exampleJson = null;
exampleJson = "{\n \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ],\n \"name\" : \"doggie\",\n \"id\" : 0,\n \"category\" : {\n \"name\" : \"name\",\n \"id\" : 6\n },\n \"tags\" : [ {\n \"name\" : \"name\",\n \"id\" : 1\n }, {\n \"name\" : \"name\",\n \"id\" : 1\n } ],\n \"status\" : \"available\"\n}";
exampleJson = "\n 123456789\n doggie\n \n aeiou\n \n \n \n aeiou\n";
@@ -140,17 +138,15 @@ namespace Org.OpenAPITools.Controllers
[ValidateModelState]
[SwaggerOperation("GetPetById")]
[SwaggerResponse(statusCode: 200, type: typeof(Pet), description: "successful operation")]
- public virtual IActionResult GetPetById([FromRoute][Required]long? petId)
+ public virtual IActionResult GetPetById([FromRoute][Required]long petId)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(Pet));
-
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(404);
-
string exampleJson = null;
exampleJson = "{\n \"photoUrls\" : [ \"photoUrls\", \"photoUrls\" ],\n \"name\" : \"doggie\",\n \"id\" : 0,\n \"category\" : {\n \"name\" : \"name\",\n \"id\" : 6\n },\n \"tags\" : [ {\n \"name\" : \"name\",\n \"id\" : 1\n }, {\n \"name\" : \"name\",\n \"id\" : 1\n } ],\n \"status\" : \"available\"\n}";
exampleJson = "\n 123456789\n doggie\n \n aeiou\n \n \n \n aeiou\n";
@@ -175,16 +171,14 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("UpdatePet")]
public virtual IActionResult UpdatePet([FromBody]Pet body)
{
+
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(404);
-
//TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(405);
-
throw new NotImplementedException();
}
@@ -199,12 +193,12 @@ namespace Org.OpenAPITools.Controllers
[Route("/v2/pet/{petId}")]
[ValidateModelState]
[SwaggerOperation("UpdatePetWithForm")]
- public virtual IActionResult UpdatePetWithForm([FromRoute][Required]long? petId, [FromForm]string name, [FromForm]string status)
+ public virtual IActionResult UpdatePetWithForm([FromRoute][Required]long petId, [FromForm]string name, [FromForm]string status)
{
+
//TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(405);
-
throw new NotImplementedException();
}
@@ -220,11 +214,11 @@ namespace Org.OpenAPITools.Controllers
[ValidateModelState]
[SwaggerOperation("UploadFile")]
[SwaggerResponse(statusCode: 200, type: typeof(ApiResponse), description: "successful operation")]
- public virtual IActionResult UploadFile([FromRoute][Required]long? petId, [FromForm]string additionalMetadata, [FromForm]System.IO.Stream file)
+ public virtual IActionResult UploadFile([FromRoute][Required]long petId, [FromForm]string additionalMetadata, [FromForm]System.IO.Stream file)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(ApiResponse));
-
string exampleJson = null;
exampleJson = "{\n \"code\" : 0,\n \"type\" : \"type\",\n \"message\" : \"message\"\n}";
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/StoreApi.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/StoreApi.cs
index a94c4a7c243..6fb3586c678 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/StoreApi.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/StoreApi.cs
@@ -16,8 +16,8 @@ using Swashbuckle.AspNetCore.SwaggerGen;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
using Org.OpenAPITools.Attributes;
-using Org.OpenAPITools.Models;
using Microsoft.AspNetCore.Authorization;
+using Org.OpenAPITools.Models;
namespace Org.OpenAPITools.Controllers
{
@@ -40,13 +40,12 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("DeleteOrder")]
public virtual IActionResult DeleteOrder([FromRoute][Required]string orderId)
{
+
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(404);
-
throw new NotImplementedException();
}
@@ -60,17 +59,17 @@ namespace Org.OpenAPITools.Controllers
[Authorize(Policy = "api_key")]
[ValidateModelState]
[SwaggerOperation("GetInventory")]
- [SwaggerResponse(statusCode: 200, type: typeof(Dictionary), description: "successful operation")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Dictionary), description: "successful operation")]
public virtual IActionResult GetInventory()
{
- //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
- // return StatusCode(200, default(Dictionary));
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Dictionary));
string exampleJson = null;
var example = exampleJson != null
- ? JsonConvert.DeserializeObject>(exampleJson)
- : default(Dictionary);
+ ? JsonConvert.DeserializeObject>(exampleJson)
+ : default(Dictionary);
//TODO: Change the data returned
return new ObjectResult(example);
}
@@ -88,17 +87,15 @@ namespace Org.OpenAPITools.Controllers
[ValidateModelState]
[SwaggerOperation("GetOrderById")]
[SwaggerResponse(statusCode: 200, type: typeof(Order), description: "successful operation")]
- public virtual IActionResult GetOrderById([FromRoute][Required][Range(1, 5)]long? orderId)
+ public virtual IActionResult GetOrderById([FromRoute][Required][Range(1, 5)]long orderId)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(Order));
-
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(404);
-
string exampleJson = null;
exampleJson = "{\n \"petId\" : 6,\n \"quantity\" : 1,\n \"id\" : 0,\n \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\",\n \"complete\" : false,\n \"status\" : \"placed\"\n}";
exampleJson = "\n 123456789\n 123456789\n 123\n 2000-01-23T04:56:07.000Z\n aeiou\n true\n";
@@ -123,12 +120,11 @@ namespace Org.OpenAPITools.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(Order), description: "successful operation")]
public virtual IActionResult PlaceOrder([FromBody]Order body)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(Order));
-
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
string exampleJson = null;
exampleJson = "{\n \"petId\" : 6,\n \"quantity\" : 1,\n \"id\" : 0,\n \"shipDate\" : \"2000-01-23T04:56:07.000+00:00\",\n \"complete\" : false,\n \"status\" : \"placed\"\n}";
exampleJson = "\n 123456789\n 123456789\n 123\n 2000-01-23T04:56:07.000Z\n aeiou\n true\n";
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/UserApi.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/UserApi.cs
index c3a29ff7aed..45ebf16ac79 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/UserApi.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Controllers/UserApi.cs
@@ -16,8 +16,8 @@ using Swashbuckle.AspNetCore.SwaggerGen;
using Newtonsoft.Json;
using System.ComponentModel.DataAnnotations;
using Org.OpenAPITools.Attributes;
-using Org.OpenAPITools.Models;
using Microsoft.AspNetCore.Authorization;
+using Org.OpenAPITools.Models;
namespace Org.OpenAPITools.Controllers
{
@@ -39,10 +39,10 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("CreateUser")]
public virtual IActionResult CreateUser([FromBody]User body)
{
+
//TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(0);
-
throw new NotImplementedException();
}
@@ -57,10 +57,10 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("CreateUsersWithArrayInput")]
public virtual IActionResult CreateUsersWithArrayInput([FromBody]List body)
{
+
//TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(0);
-
throw new NotImplementedException();
}
@@ -75,10 +75,10 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("CreateUsersWithListInput")]
public virtual IActionResult CreateUsersWithListInput([FromBody]List body)
{
+
//TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(0);
-
throw new NotImplementedException();
}
@@ -95,13 +95,12 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("DeleteUser")]
public virtual IActionResult DeleteUser([FromRoute][Required]string username)
{
+
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(404);
-
throw new NotImplementedException();
}
@@ -119,15 +118,13 @@ namespace Org.OpenAPITools.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(User), description: "successful operation")]
public virtual IActionResult GetUserByName([FromRoute][Required]string username)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(User));
-
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(404);
-
string exampleJson = null;
exampleJson = "{\n \"firstName\" : \"firstName\",\n \"lastName\" : \"lastName\",\n \"password\" : \"password\",\n \"userStatus\" : 6,\n \"phone\" : \"phone\",\n \"id\" : 0,\n \"email\" : \"email\",\n \"username\" : \"username\"\n}";
exampleJson = "\n 123456789\n aeiou\n aeiou\n aeiou\n aeiou\n aeiou\n aeiou\n 123\n";
@@ -153,12 +150,11 @@ namespace Org.OpenAPITools.Controllers
[SwaggerResponse(statusCode: 200, type: typeof(string), description: "successful operation")]
public virtual IActionResult LoginUser([FromQuery][Required()]string username, [FromQuery][Required()]string password)
{
+
//TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(200, default(string));
-
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
string exampleJson = null;
var example = exampleJson != null
@@ -178,10 +174,10 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("LogoutUser")]
public virtual IActionResult LogoutUser()
{
+
//TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(0);
-
throw new NotImplementedException();
}
@@ -199,13 +195,12 @@ namespace Org.OpenAPITools.Controllers
[SwaggerOperation("UpdateUser")]
public virtual IActionResult UpdateUser([FromRoute][Required]string username, [FromBody]User body)
{
+
//TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(400);
-
//TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
// return StatusCode(404);
-
throw new NotImplementedException();
}
}
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Converters/CustomEnumConverter.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Converters/CustomEnumConverter.cs
new file mode 100644
index 00000000000..85bd3167b28
--- /dev/null
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Converters/CustomEnumConverter.cs
@@ -0,0 +1,33 @@
+using System;
+using System.ComponentModel;
+using System.Globalization;
+using Newtonsoft.Json;
+
+namespace Org.OpenAPITools.Converters
+{
+ ///
+ /// Custom string to enum converter
+ ///
+ public class CustomEnumConverter : TypeConverter
+ {
+ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
+ {
+ if (sourceType == typeof(string))
+ {
+ return true;
+ }
+ return base.CanConvertFrom(context, sourceType);
+ }
+
+ public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
+ {
+ var s = value as string;
+ if (string.IsNullOrEmpty(s))
+ {
+ return null;
+ }
+
+ return JsonConvert.DeserializeObject(@"""" + value.ToString() + @"""");
+ }
+ }
+}
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/ApiResponse.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/ApiResponse.cs
index a1e0948c3b2..5aa1a66468d 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/ApiResponse.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/ApiResponse.cs
@@ -12,9 +12,11 @@ using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
+using Org.OpenAPITools.Converters;
namespace Org.OpenAPITools.Models
{
@@ -28,7 +30,7 @@ namespace Org.OpenAPITools.Models
/// Gets or Sets Code
///
[DataMember(Name="code", EmitDefaultValue=false)]
- public int? Code { get; set; }
+ public int Code { get; set; }
///
/// Gets or Sets Type
@@ -91,7 +93,7 @@ namespace Org.OpenAPITools.Models
return
(
Code == other.Code ||
- Code != null &&
+
Code.Equals(other.Code)
) &&
(
@@ -116,7 +118,7 @@ namespace Org.OpenAPITools.Models
{
var hashCode = 41;
// Suitable nullity checks etc, of course :)
- if (Code != null)
+
hashCode = hashCode * 59 + Code.GetHashCode();
if (Type != null)
hashCode = hashCode * 59 + Type.GetHashCode();
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Category.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Category.cs
index 820baff9121..79229996094 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Category.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Category.cs
@@ -12,9 +12,11 @@ using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
+using Org.OpenAPITools.Converters;
namespace Org.OpenAPITools.Models
{
@@ -28,7 +30,7 @@ namespace Org.OpenAPITools.Models
/// Gets or Sets Id
///
[DataMember(Name="id", EmitDefaultValue=false)]
- public long? Id { get; set; }
+ public long Id { get; set; }
///
/// Gets or Sets Name
@@ -84,7 +86,7 @@ namespace Org.OpenAPITools.Models
return
(
Id == other.Id ||
- Id != null &&
+
Id.Equals(other.Id)
) &&
(
@@ -104,7 +106,7 @@ namespace Org.OpenAPITools.Models
{
var hashCode = 41;
// Suitable nullity checks etc, of course :)
- if (Id != null)
+
hashCode = hashCode * 59 + Id.GetHashCode();
if (Name != null)
hashCode = hashCode * 59 + Name.GetHashCode();
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Order.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Order.cs
index 5312b28df3c..c045601e12e 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Order.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Order.cs
@@ -12,9 +12,11 @@ using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
+using Org.OpenAPITools.Converters;
namespace Org.OpenAPITools.Models
{
@@ -28,30 +30,31 @@ namespace Org.OpenAPITools.Models
/// Gets or Sets Id
///
[DataMember(Name="id", EmitDefaultValue=false)]
- public long? Id { get; set; }
+ public long Id { get; set; }
///
/// Gets or Sets PetId
///
[DataMember(Name="petId", EmitDefaultValue=false)]
- public long? PetId { get; set; }
+ public long PetId { get; set; }
///
/// Gets or Sets Quantity
///
[DataMember(Name="quantity", EmitDefaultValue=false)]
- public int? Quantity { get; set; }
+ public int Quantity { get; set; }
///
/// Gets or Sets ShipDate
///
[DataMember(Name="shipDate", EmitDefaultValue=false)]
- public DateTime? ShipDate { get; set; }
+ public DateTime ShipDate { get; set; }
///
/// Order Status
///
/// Order Status
+ [TypeConverter(typeof(CustomEnumConverter))]
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
public enum StatusEnum
{
@@ -86,7 +89,7 @@ namespace Org.OpenAPITools.Models
/// Gets or Sets Complete
///
[DataMember(Name="complete", EmitDefaultValue=false)]
- public bool? Complete { get; set; }
+ public bool Complete { get; set; } = false;
///
/// Returns the string presentation of the object
@@ -140,17 +143,17 @@ namespace Org.OpenAPITools.Models
return
(
Id == other.Id ||
- Id != null &&
+
Id.Equals(other.Id)
) &&
(
PetId == other.PetId ||
- PetId != null &&
+
PetId.Equals(other.PetId)
) &&
(
Quantity == other.Quantity ||
- Quantity != null &&
+
Quantity.Equals(other.Quantity)
) &&
(
@@ -165,7 +168,7 @@ namespace Org.OpenAPITools.Models
) &&
(
Complete == other.Complete ||
- Complete != null &&
+
Complete.Equals(other.Complete)
);
}
@@ -180,17 +183,17 @@ namespace Org.OpenAPITools.Models
{
var hashCode = 41;
// Suitable nullity checks etc, of course :)
- if (Id != null)
+
hashCode = hashCode * 59 + Id.GetHashCode();
- if (PetId != null)
+
hashCode = hashCode * 59 + PetId.GetHashCode();
- if (Quantity != null)
+
hashCode = hashCode * 59 + Quantity.GetHashCode();
if (ShipDate != null)
hashCode = hashCode * 59 + ShipDate.GetHashCode();
hashCode = hashCode * 59 + Status.GetHashCode();
- if (Complete != null)
+
hashCode = hashCode * 59 + Complete.GetHashCode();
return hashCode;
}
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Pet.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Pet.cs
index 5ed8a481e97..a5bc9faa07e 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Pet.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Pet.cs
@@ -12,9 +12,11 @@ using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
+using Org.OpenAPITools.Converters;
namespace Org.OpenAPITools.Models
{
@@ -28,7 +30,7 @@ namespace Org.OpenAPITools.Models
/// Gets or Sets Id
///
[DataMember(Name="id", EmitDefaultValue=false)]
- public long? Id { get; set; }
+ public long Id { get; set; }
///
/// Gets or Sets Category
@@ -60,6 +62,7 @@ namespace Org.OpenAPITools.Models
/// pet status in the store
///
/// pet status in the store
+ [TypeConverter(typeof(CustomEnumConverter))]
[JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
public enum StatusEnum
{
@@ -142,7 +145,7 @@ namespace Org.OpenAPITools.Models
return
(
Id == other.Id ||
- Id != null &&
+
Id.Equals(other.Id)
) &&
(
@@ -184,7 +187,7 @@ namespace Org.OpenAPITools.Models
{
var hashCode = 41;
// Suitable nullity checks etc, of course :)
- if (Id != null)
+
hashCode = hashCode * 59 + Id.GetHashCode();
if (Category != null)
hashCode = hashCode * 59 + Category.GetHashCode();
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Tag.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Tag.cs
index 8811f8caa90..223b3ac3af5 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Tag.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/Tag.cs
@@ -12,9 +12,11 @@ using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
+using Org.OpenAPITools.Converters;
namespace Org.OpenAPITools.Models
{
@@ -28,7 +30,7 @@ namespace Org.OpenAPITools.Models
/// Gets or Sets Id
///
[DataMember(Name="id", EmitDefaultValue=false)]
- public long? Id { get; set; }
+ public long Id { get; set; }
///
/// Gets or Sets Name
@@ -84,7 +86,7 @@ namespace Org.OpenAPITools.Models
return
(
Id == other.Id ||
- Id != null &&
+
Id.Equals(other.Id)
) &&
(
@@ -104,7 +106,7 @@ namespace Org.OpenAPITools.Models
{
var hashCode = 41;
// Suitable nullity checks etc, of course :)
- if (Id != null)
+
hashCode = hashCode * 59 + Id.GetHashCode();
if (Name != null)
hashCode = hashCode * 59 + Name.GetHashCode();
diff --git a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/User.cs b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/User.cs
index f36f2e6a5c2..dc5595815cd 100644
--- a/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/User.cs
+++ b/samples/server/petstore/aspnetcore/src/Org.OpenAPITools/Models/User.cs
@@ -12,9 +12,11 @@ using System;
using System.Linq;
using System.Text;
using System.Collections.Generic;
+using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
+using Org.OpenAPITools.Converters;
namespace Org.OpenAPITools.Models
{
@@ -28,7 +30,7 @@ namespace Org.OpenAPITools.Models
/// Gets or Sets Id
///
[DataMember(Name="id", EmitDefaultValue=false)]
- public long? Id { get; set; }
+ public long Id { get; set; }
///
/// Gets or Sets Username
@@ -71,7 +73,7 @@ namespace Org.OpenAPITools.Models
///
/// User Status
[DataMember(Name="userStatus", EmitDefaultValue=false)]
- public int? UserStatus { get; set; }
+ public int UserStatus { get; set; }
///
/// Returns the string presentation of the object
@@ -127,7 +129,7 @@ namespace Org.OpenAPITools.Models
return
(
Id == other.Id ||
- Id != null &&
+
Id.Equals(other.Id)
) &&
(
@@ -162,7 +164,7 @@ namespace Org.OpenAPITools.Models
) &&
(
UserStatus == other.UserStatus ||
- UserStatus != null &&
+
UserStatus.Equals(other.UserStatus)
);
}
@@ -177,7 +179,7 @@ namespace Org.OpenAPITools.Models
{
var hashCode = 41;
// Suitable nullity checks etc, of course :)
- if (Id != null)
+
hashCode = hashCode * 59 + Id.GetHashCode();
if (Username != null)
hashCode = hashCode * 59 + Username.GetHashCode();
@@ -191,7 +193,7 @@ namespace Org.OpenAPITools.Models
hashCode = hashCode * 59 + Password.GetHashCode();
if (Phone != null)
hashCode = hashCode * 59 + Phone.GetHashCode();
- if (UserStatus != null)
+
hashCode = hashCode * 59 + UserStatus.GetHashCode();
return hashCode;
}