diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java index ec07161ff199..8e1efc9cdbc2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractCSharpCodegen.java @@ -839,6 +839,15 @@ protected void patchProperty(Map enumRefs, CodegenModel mo // We do these after updateCodegenPropertyEnum to avoid generalities that don't mesh with C#. property.isPrimitiveType = true; + + // Propagate numeric type flags from the referenced enum model so templates + // can branch on isNumeric/isInteger/isLong/isFloat/isDouble/isDecimal. + property.isNumeric = refModel.isNumeric; + property.isInteger = refModel.isInteger; + property.isLong = refModel.isLong; + property.isFloat = refModel.isFloat; + property.isDouble = refModel.isDouble; + property.isDecimal = refModel.isDecimal; } this.patchPropertyIsInherited(model, property); diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/EnumJsonReaderMethod.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/EnumJsonReaderMethod.mustache new file mode 100644 index 000000000000..da74fc22b3a1 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/EnumJsonReaderMethod.mustache @@ -0,0 +1 @@ +{{#allowableValues}}{{#enumVars}}{{#-first}}{{#isNumeric}}{{#isLong}}GetInt64{{/isLong}}{{#isFloat}}GetSingle{{/isFloat}}{{#isDouble}}GetDouble{{/isDouble}}{{#isDecimal}}GetDecimal{{/isDecimal}}{{^isLong}}{{^isFloat}}{{^isDouble}}{{^isDecimal}}GetInt32{{/isDecimal}}{{/isDouble}}{{/isFloat}}{{/isLong}}{{/isNumeric}}{{/-first}}{{/enumVars}}{{/allowableValues}} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache index 24810c9cee43..915109a4a01d 100644 --- a/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/libraries/generichost/JsonConverter.mustache @@ -225,20 +225,7 @@ {{/isDateTime}} {{#isEnum}} {{^isMap}} - {{#isNumeric}} - {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}} = {{>OptionProperty}}utf8JsonReader.TokenType == JsonTokenType.Null ? ({{#isInnerEnum}}{{classname}}.{{/isInnerEnum}}{{{datatypeWithEnum}}}?)null : ({{#isInnerEnum}}{{classname}}.{{/isInnerEnum}}{{{datatypeWithEnum}}})utf8JsonReader.Get{{#vendorExtensions.x-unsigned}}U{{/vendorExtensions.x-unsigned}}Int32()); - {{/isNumeric}} - {{^isNumeric}} - string{{nrt?}} {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}}RawValue = utf8JsonReader.GetString(); - {{^isInnerEnum}} - if ({{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}}RawValue != null) - {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}} = {{>OptionProperty}}{{{datatypeWithEnum}}}ValueConverter.FromStringOrDefault({{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}}RawValue)); - {{/isInnerEnum}} - {{#isInnerEnum}} - if ({{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}}RawValue != null) - {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}} = {{>OptionProperty}}{{classname}}.{{{datatypeWithEnum}}}FromStringOrDefault({{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}}RawValue)); - {{/isInnerEnum}} - {{/isNumeric}} + {{#lambda.camelcase_sanitize_param}}{{name}}{{/lambda.camelcase_sanitize_param}} = {{>OptionProperty}}JsonSerializer.Deserialize<{{#isInnerEnum}}{{classname}}.{{/isInnerEnum}}{{{datatypeWithEnum}}}{{#isNullable}}?{{/isNullable}}>(ref utf8JsonReader, jsonSerializerOptions)); {{/isMap}} {{/isEnum}} {{#isUuid}} @@ -503,7 +490,7 @@ {{#isEnum}} {{#isNumeric}} {{#lambda.copyText}} - writer.WriteNumber("{{baseName}}", {{#isInnerEnum}}{{classname}}.{{/isInnerEnum}}{{{datatypeWithEnum}}}ToJsonValue({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}{{^required}}Option.Value{{#vendorExtensions.x-is-value-type}}{{nrt!}}.Value{{/vendorExtensions.x-is-value-type}}{{/required}}{{#required}}{{#isNullable}}.Value{{/isNullable}}{{/required}})); + writer.WriteNumber("{{baseName}}", {{#isInnerEnum}}{{classname}}.{{{datatypeWithEnum}}}ToJsonValue{{/isInnerEnum}}{{^isInnerEnum}}{{{datatypeWithEnum}}}ValueConverter.ToJsonValue{{/isInnerEnum}}({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}{{^required}}Option.Value{{#vendorExtensions.x-is-value-type}}{{nrt!}}.Value{{/vendorExtensions.x-is-value-type}}{{/required}}{{#required}}{{#isNullable}}.Value{{/isNullable}}{{/required}})); {{/lambda.copyText}} {{#lambda.indent3}} {{>WriteProperty}}{{! prevent indent}} diff --git a/modules/openapi-generator/src/main/resources/csharp/modelEnum.mustache b/modules/openapi-generator/src/main/resources/csharp/modelEnum.mustache index 7b779b3fa7c2..dcd7f73932d7 100644 --- a/modules/openapi-generator/src/main/resources/csharp/modelEnum.mustache +++ b/modules/openapi-generator/src/main/resources/csharp/modelEnum.mustache @@ -21,7 +21,7 @@ {{/-first}} {{/enumVars}} {{/allowableValues}} - {{>visibility}} enum {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{#vendorExtensions.x-enum-byte}}: byte{{/vendorExtensions.x-enum-byte}} + {{>visibility}} enum {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{#vendorExtensions.x-enum-byte}} : byte{{/vendorExtensions.x-enum-byte}}{{#isLong}} : long{{/isLong}} { {{#allowableValues}} {{#enumVars}} @@ -90,9 +90,42 @@ /// {{>visibility}} static {{>EnumValueDataType}} ToJsonValue({{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} value) { - {{^isString}} + {{#isInteger}} return ({{>EnumValueDataType}}) value; - {{/isString}} + {{/isInteger}} + {{#isLong}} + return ({{>EnumValueDataType}}) value; + {{/isLong}} + {{#isFloat}} + {{#allowableValues}} + {{#enumVars}} + if (value == {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}.{{name}}) + return {{{value}}}f; + + {{/enumVars}} + {{/allowableValues}} + throw new NotImplementedException($"Value could not be handled: '{value}'"); + {{/isFloat}} + {{#isDouble}} + {{#allowableValues}} + {{#enumVars}} + if (value == {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}.{{name}}) + return {{{value}}}d; + + {{/enumVars}} + {{/allowableValues}} + throw new NotImplementedException($"Value could not be handled: '{value}'"); + {{/isDouble}} + {{#isDecimal}} + {{#allowableValues}} + {{#enumVars}} + if (value == {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}.{{name}}) + return {{{value}}}m; + + {{/enumVars}} + {{/allowableValues}} + throw new NotImplementedException($"Value could not be handled: '{value}'"); + {{/isDecimal}} {{#isString}} {{#allowableValues}} {{#enumVars}} @@ -121,6 +154,42 @@ /// public override {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + {{#isInteger}} + string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isInteger}} + {{#isLong}} + string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isLong}} + {{#isFloat}} + string rawValue = reader.GetSingle().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isFloat}} + {{#isDouble}} + string rawValue = reader.GetDouble().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isDouble}} + {{#isDecimal}} + string rawValue = reader.GetDecimal().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isDecimal}} + {{#isString}} string{{nrt?}} rawValue = reader.GetString(); {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = rawValue == null @@ -131,6 +200,7 @@ return result.Value; throw new JsonException(); + {{/isString}} } /// @@ -141,7 +211,12 @@ /// public override void Write(Utf8JsonWriter writer, {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}} {{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}, JsonSerializerOptions options) { + {{^isString}} + writer.WriteNumberValue({{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.ToJsonValue({{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}})); + {{/isString}} + {{#isString}} writer.WriteStringValue({{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.ToJsonValue({{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}).ToString()); + {{/isString}} } } @@ -159,6 +234,45 @@ /// public override {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + + {{#isInteger}} + string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isInteger}} + {{#isLong}} + string rawValue = reader.{{>EnumJsonReaderMethod}}().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isLong}} + {{#isFloat}} + string rawValue = reader.GetSingle().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isFloat}} + {{#isDouble}} + string rawValue = reader.GetDouble().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isDouble}} + {{#isDecimal}} + string rawValue = reader.GetDecimal().ToString(); + {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.FromStringOrDefault(rawValue); + if (result != null) + return result.Value; + throw new JsonException(); + {{/isDecimal}} + {{#isString}} string{{nrt?}} rawValue = reader.GetString(); {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? result = rawValue == null @@ -169,6 +283,7 @@ return result.Value; throw new JsonException(); + {{/isString}} } /// @@ -179,7 +294,15 @@ /// public override void Write(Utf8JsonWriter writer, {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}? {{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}, JsonSerializerOptions options) { - writer.WriteStringValue({{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}.HasValue ? {{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.ToJsonValue({{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}.Value).ToString() : "null"); + if ({{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}.HasValue) + {{^isString}} + writer.WriteNumberValue({{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.ToJsonValue({{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}.Value)); + {{/isString}} + {{#isString}} + writer.WriteStringValue({{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}ValueConverter.ToJsonValue({{#lambda.camelcase_sanitize_param}}{{datatypeWithEnum}}{{^datatypeWithEnum}}{{classname}}{{/datatypeWithEnum}}{{/lambda.camelcase_sanitize_param}}.Value).ToString()); + {{/isString}} + else + writer.WriteNullValue(); } } {{/useGenericHost}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpClientCodegenTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpClientCodegenTest.java index 86ae543e259e..fbb81eb50acc 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpClientCodegenTest.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpClientCodegenTest.java @@ -260,4 +260,101 @@ private List getNames(List props) { if (props == null) return null; return props.stream().map(v -> v.name).collect(Collectors.toList()); } + + @Test + public void testIntegerEnumJsonConverterUsesNumericOperations() throws IOException { + File output = Files.createTempDirectory("test").toFile().getCanonicalFile(); + output.deleteOnExit(); + final OpenAPI openAPI = TestUtils.parseFlattenSpec("src/test/resources/3_0/csharp/integer-enum.yaml"); + final DefaultGenerator defaultGenerator = new DefaultGenerator(); + final ClientOptInput clientOptInput = new ClientOptInput(); + clientOptInput.openAPI(openAPI); + CSharpClientCodegen cSharpClientCodegen = new CSharpClientCodegen(); + cSharpClientCodegen.setLibrary("generichost"); + cSharpClientCodegen.setOutputDir(output.getAbsolutePath()); + clientOptInput.config(cSharpClientCodegen); + defaultGenerator.opts(clientOptInput); + + Map files = defaultGenerator.generate().stream() + .collect(Collectors.toMap(File::getPath, Function.identity())); + + // Verify integer enum uses numeric JSON reader with validation + File intEnumFile = files.get(Paths + .get(output.getAbsolutePath(), "src", "Org.OpenAPITools", "Model", "IntegerEnum.cs") + .toString() + ); + assertNotNull(intEnumFile, "Could not find file for model: IntegerEnum"); + assertFileContains(intEnumFile.toPath(), + "reader.GetInt32().ToString()", + "FromStringOrDefault(rawValue)", + "throw new JsonException()", + "writer.WriteNumberValue(", + "public static int ToJsonValue(IntegerEnum value)" + ); + assertFileNotContains(intEnumFile.toPath(), + "reader.GetString()", + "writer.WriteStringValue(", + ": long", + ": byte" + ); + + // Verify long enum uses int64 reader with validation and actual int64 values + File longEnumFile = files.get(Paths + .get(output.getAbsolutePath(), "src", "Org.OpenAPITools", "Model", "LongEnum.cs") + .toString() + ); + assertNotNull(longEnumFile, "Could not find file for model: LongEnum"); + assertFileContains(longEnumFile.toPath(), + "enum LongEnum : long", + "reader.GetInt64().ToString()", + "FromStringOrDefault(rawValue)", + "throw new JsonException()", + "writer.WriteNumberValue(", + "public static long ToJsonValue(LongEnum value)", + "AboveInt32Max = 2147483648", + "Int64Max = 9223372036854775807" + ); + assertFileNotContains(longEnumFile.toPath(), + "reader.GetString()", + "writer.WriteStringValue(" + ); + + // Verify double enum reads numeric value and converts to string for matching, writes as number + File doubleEnumFile = files.get(Paths + .get(output.getAbsolutePath(), "src", "Org.OpenAPITools", "Model", "DoubleEnum.cs") + .toString() + ); + assertNotNull(doubleEnumFile, "Could not find file for model: DoubleEnum"); + assertFileContains(doubleEnumFile.toPath(), + "reader.GetDouble().ToString()", + "writer.WriteNumberValue(", + "public static double ToJsonValue(DoubleEnum value)", + "return 1.1d;", + "return -1.2d;" + ); + assertFileNotContains(doubleEnumFile.toPath(), + "reader.GetString()", + "writer.WriteStringValue(", + "return (double) value" + ); + + // Verify model with enum properties uses JsonSerializer.Deserialize for enum props + File modelFile = files.get(Paths + .get(output.getAbsolutePath(), "src", "Org.OpenAPITools", "Model", "ModelWithEnumProperties.cs") + .toString() + ); + assertNotNull(modelFile, "Could not find file for model: ModelWithEnumProperties"); + assertFileContains(modelFile.toPath(), + "JsonSerializer.Deserialize /// public override AreaCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); AreaCode? result = rawValue == null @@ -197,7 +200,10 @@ public class AreaCodeNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, AreaCode? areaCode, JsonSerializerOptions options) { - writer.WriteStringValue(areaCode.HasValue ? AreaCodeValueConverter.ToJsonValue(areaCode.Value).ToString() : "null"); + if (areaCode.HasValue) + writer.WriteStringValue(AreaCodeValueConverter.ToJsonValue(areaCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/MarineAreaCode.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/MarineAreaCode.cs index 73e3e9e0c3df..5a962dc212e8 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/MarineAreaCode.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/MarineAreaCode.cs @@ -149,6 +149,9 @@ public class MarineAreaCodeNullableJsonConverter : JsonConverter public override MarineAreaCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); MarineAreaCode? result = rawValue == null @@ -169,7 +172,10 @@ public class MarineAreaCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, MarineAreaCode? marineAreaCode, JsonSerializerOptions options) { - writer.WriteStringValue(marineAreaCode.HasValue ? MarineAreaCodeValueConverter.ToJsonValue(marineAreaCode.Value).ToString() : "null"); + if (marineAreaCode.HasValue) + writer.WriteStringValue(MarineAreaCodeValueConverter.ToJsonValue(marineAreaCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/StateTerritoryCode.cs b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/StateTerritoryCode.cs index f2e57c7ceecb..f9e78799b5d1 100644 --- a/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/StateTerritoryCode.cs +++ b/samples/client/petstore/csharp/generichost/latest/ComposedEnum/src/Org.OpenAPITools/Model/StateTerritoryCode.cs @@ -149,6 +149,9 @@ public class StateTerritoryCodeNullableJsonConverter : JsonConverter public override StateTerritoryCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); StateTerritoryCode? result = rawValue == null @@ -169,7 +172,10 @@ public class StateTerritoryCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, StateTerritoryCode? stateTerritoryCode, JsonSerializerOptions options) { - writer.WriteStringValue(stateTerritoryCode.HasValue ? StateTerritoryCodeValueConverter.ToJsonValue(stateTerritoryCode.Value).ToString() : "null"); + if (stateTerritoryCode.HasValue) + writer.WriteStringValue(StateTerritoryCodeValueConverter.ToJsonValue(stateTerritoryCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Model/IconsSizeParameterAnyOf.cs b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Model/IconsSizeParameterAnyOf.cs index 723b53b5e97a..2c5bc0642d5f 100644 --- a/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Model/IconsSizeParameterAnyOf.cs +++ b/samples/client/petstore/csharp/generichost/latest/InlineEnumAnyOf/src/Org.OpenAPITools/Model/IconsSizeParameterAnyOf.cs @@ -163,6 +163,9 @@ public class IconsSizeParameterAnyOfNullableJsonConverter : JsonConverter public override IconsSizeParameterAnyOf? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); IconsSizeParameterAnyOf? result = rawValue == null @@ -183,7 +186,10 @@ public class IconsSizeParameterAnyOfNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, IconsSizeParameterAnyOf? iconsSizeParameterAnyOf, JsonSerializerOptions options) { - writer.WriteStringValue(iconsSizeParameterAnyOf.HasValue ? IconsSizeParameterAnyOfValueConverter.ToJsonValue(iconsSizeParameterAnyOf.Value).ToString() : "null"); + if (iconsSizeParameterAnyOf.HasValue) + writer.WriteStringValue(IconsSizeParameterAnyOfValueConverter.ToJsonValue(iconsSizeParameterAnyOf.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs index 99c5b315aa00..5974f78f0d87 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs @@ -119,9 +119,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCatAllOfPetTypeValueConverter.FromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "name": name = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs index 252a51260bcf..1bed600a55f5 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs @@ -134,6 +134,9 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override ChildCatAllOfPetType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ChildCatAllOfPetType? result = rawValue == null @@ -154,7 +157,10 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, ChildCatAllOfPetType? childCatAllOfPetType, JsonSerializerOptions options) { - writer.WriteStringValue(childCatAllOfPetType.HasValue ? ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString() : "null"); + if (childCatAllOfPetType.HasValue) + writer.WriteStringValue(ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs index de8390a77eb4..bf6de7bba955 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -115,9 +115,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivityAllOfSchemaValueConverter.FromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs index 9760b9efadd6..dbb402dc4ac8 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs @@ -134,6 +134,9 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override CopyActivityAllOfSchema? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); CopyActivityAllOfSchema? result = rawValue == null @@ -154,7 +157,10 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, CopyActivityAllOfSchema? copyActivityAllOfSchema, JsonSerializerOptions options) { - writer.WriteStringValue(copyActivityAllOfSchema.HasValue ? CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString() : "null"); + if (copyActivityAllOfSchema.HasValue) + writer.WriteStringValue(CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs index 1ed4938d5fa7..47add6f4a8a2 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs index fd2ec581e4df..a710c8700ad6 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs index afdb3342ce23..2a70168f51b4 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -146,9 +146,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArraysJustSymbolValueConverter.FromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs index 2ceb96620d05..3d3db1add77a 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs @@ -148,6 +148,9 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override EnumArraysArrayEnumInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysArrayEnumInner? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysArrayEnumInner? enumArraysArrayEnumInner, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysArrayEnumInner.HasValue ? EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString() : "null"); + if (enumArraysArrayEnumInner.HasValue) + writer.WriteStringValue(EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs index 8400d5cd4273..67a8cfe66128 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs @@ -148,6 +148,9 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override EnumArraysJustSymbol? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysJustSymbol? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysJustSymbol? enumArraysJustSymbol, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysJustSymbol.HasValue ? EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString() : "null"); + if (enumArraysJustSymbol.HasValue) + writer.WriteStringValue(EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs index 49ce4b0a6d6e..1c2f4745b78b 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs @@ -255,49 +255,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - string enumIntegerRawValue = utf8JsonReader.GetString(); - if (enumIntegerRawValue != null) - enumInteger = new Option(EnumTestEnumIntegerValueConverter.FromStringOrDefault(enumIntegerRawValue)); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - string enumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (enumIntegerOnlyRawValue != null) - enumIntegerOnly = new Option(EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(enumIntegerOnlyRawValue)); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - string enumNumberRawValue = utf8JsonReader.GetString(); - if (enumNumberRawValue != null) - enumNumber = new Option(TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(enumNumberRawValue)); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -363,20 +345,14 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("enum_string_required", enumStringRequiredRawValue); if (enumTest.EnumIntegerOption.IsSet) - { - var enumIntegerRawValue = EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumInteger.Value); - writer.WriteNumber("enum_integer", enumIntegerRawValue); - } + writer.WriteNumber("enum_integer", EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumIntegerOption.Value.Value)); + if (enumTest.EnumIntegerOnlyOption.IsSet) - { - var enumIntegerOnlyRawValue = EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnly.Value); - writer.WriteNumber("enum_integer_only", enumIntegerOnlyRawValue); - } + writer.WriteNumber("enum_integer_only", EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnlyOption.Value.Value)); + if (enumTest.EnumNumberOption.IsSet) - { - var enumNumberRawValue = TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumber.Value); - writer.WriteNumber("enum_number", enumNumberRawValue); - } + writer.WriteNumber("enum_number", TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumberOption.Value.Value)); + if (enumTest.EnumStringOption.IsSet) { var enumStringRawValue = EnumTestEnumStringValueConverter.ToJsonValue(enumTest.EnumString.Value); @@ -396,15 +372,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs index 19178ecba280..5ea93c467d62 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerJsonConverter : JsonConverter public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToC /// public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override EnumTestEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger? enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumInteger.HasValue ? EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value).ToString() : "null"); + if (enumTestEnumInteger.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs index 6a999c69d575..dab24618fddd 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerOnlyJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typ /// public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly? enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumIntegerOnly.HasValue ? EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value).ToString() : "null"); + if (enumTestEnumIntegerOnly.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs index 4d02eeaec018..6afc370e3ca5 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs @@ -232,6 +232,9 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override EnumTestEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumTestEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumString? enumTestEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumString.HasValue ? EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString() : "null"); + if (enumTestEnumString.HasValue) + writer.WriteStringValue(EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs index e7f98f931cc9..d1ac7f8dd36b 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs @@ -162,6 +162,9 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override FindPetsByStatusStatusParameterInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); FindPetsByStatusStatusParameterInner? result = rawValue == null @@ -182,7 +185,10 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override void Write(Utf8JsonWriter writer, FindPetsByStatusStatusParameterInner? findPetsByStatusStatusParameterInner, JsonSerializerOptions options) { - writer.WriteStringValue(findPetsByStatusStatusParameterInner.HasValue ? FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString() : "null"); + if (findPetsByStatusStatusParameterInner.HasValue) + writer.WriteStringValue(FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs index 3c7331f80f28..0f34a3ceea08 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs @@ -148,6 +148,9 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override MapTestMapOfEnumStringValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); MapTestMapOfEnumStringValue? result = rawValue == null @@ -168,7 +171,10 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, MapTestMapOfEnumStringValue? mapTestMapOfEnumStringValue, JsonSerializerOptions options) { - writer.WriteStringValue(mapTestMapOfEnumStringValue.HasValue ? MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString() : "null"); + if (mapTestMapOfEnumStringValue.HasValue) + writer.WriteStringValue(MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Order.cs index 0f70b6ee763d..05e54c085f18 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Order.cs @@ -232,9 +232,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(OrderStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs index cd0ff06ce52e..e193de19a3ea 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs @@ -163,6 +163,9 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override OrderStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OrderStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OrderStatus? orderStatus, JsonSerializerOptions options) { - writer.WriteStringValue(orderStatus.HasValue ? OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString() : "null"); + if (orderStatus.HasValue) + writer.WriteStringValue(OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Pet.cs index 294770c56dfb..5b0634901da8 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Pet.cs @@ -210,9 +210,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(PetStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs index 52de1419c804..1a60f1c7856c 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs @@ -163,6 +163,9 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override PetStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); PetStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, PetStatus? petStatus, JsonSerializerOptions options) { - writer.WriteStringValue(petStatus.HasValue ? PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString() : "null"); + if (petStatus.HasValue) + writer.WriteStringValue(PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs index 8a2fc39d76bf..0f73d82a2086 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -759,24 +759,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - string requiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerRawValue != null) - requiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerRawValue)); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - string requiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerOnlyRawValue != null) - requiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerOnlyRawValue)); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -809,24 +801,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - string notrequiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerRawValue != null) - notrequiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerRawValue)); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - string notrequiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerOnlyRawValue != null) - notrequiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerOnlyRawValue)); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -844,24 +828,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - string notrequiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerRawValue != null) - notrequiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerRawValue)); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - string notrequiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerOnlyRawValue != null) - notrequiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerOnlyRawValue)); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -882,27 +858,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - string requiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerRawValue != null) - requiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(requiredNullableEnumIntegerRawValue)); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - string requiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerOnlyRawValue != null) - requiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNullableEnumIntegerOnlyRawValue)); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1095,11 +1063,9 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("required_notnullable_datetime_prop", requiredClass.RequiredNotnullableDatetimeProp.ToString(RequiredNotnullableDatetimePropFormat)); - var requiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger); - writer.WriteNumber("required_notnullable_enum_integer", requiredNotnullableEnumIntegerRawValue); + writer.WriteNumber("required_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger)); - var requiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly); - writer.WriteNumber("required_notnullable_enum_integer_only", requiredNotnullableEnumIntegerOnlyRawValue); + writer.WriteNumber("required_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly)); var requiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumString); writer.WriteString("required_notnullable_enum_string", requiredNotnullableEnumStringRawValue); @@ -1143,15 +1109,11 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("notrequired_notnullable_datetime_prop", requiredClass.NotrequiredNotnullableDatetimePropOption.Value.Value.ToString(NotrequiredNotnullableDatetimePropFormat)); if (requiredClass.NotrequiredNotnullableEnumIntegerOption.IsSet) - { - var notrequiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumInteger.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer", notrequiredNotnullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.IsSet) - { - var notrequiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnly.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer_only", notrequiredNotnullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumStringOption.IsSet) { var notrequiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumString.Value); @@ -1190,20 +1152,16 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, if (requiredClass.NotrequiredNullableEnumIntegerOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOption.Value != null) - { - var notrequiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer", notrequiredNullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer"); + if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value != null) - { - var notrequiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer_only", notrequiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer_only"); + if (requiredClass.NotrequiredNullableEnumStringOption.IsSet) if (requiredClass.NotrequiredNullableEnumStringOption.Value != null) { @@ -1254,21 +1212,15 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, else writer.WriteNull("required_nullable_datetime_prop"); - if (requiredClass.RequiredNullableEnumInteger == null) - writer.WriteNull("required_nullable_enum_integer"); + if (requiredClass.RequiredNullableEnumInteger != null) + writer.WriteNumber("required_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value)); else - { - var requiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value); - writer.WriteNumber("required_nullable_enum_integer", requiredNullableEnumIntegerRawValue); - } + writer.WriteNull("required_nullable_enum_integer"); - if (requiredClass.RequiredNullableEnumIntegerOnly == null) - writer.WriteNull("required_nullable_enum_integer_only"); + if (requiredClass.RequiredNullableEnumIntegerOnly != null) + writer.WriteNumber("required_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value)); else - { - var requiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value); - writer.WriteNumber("required_nullable_enum_integer_only", requiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNull("required_nullable_enum_integer_only"); if (requiredClass.RequiredNullableEnumString == null) writer.WriteNull("required_nullable_enum_string"); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs index fcdc55074811..28b19513d368 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerJsonConverter : JsonConv /// public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override RequiredClassRequiredNotnullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger? requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumInteger.HasValue ? RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs index 1d33399c6331..7b5b97f0f8c6 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyJsonConverter : Json /// public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override RequiredClassRequiredNotnullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly? requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs index 1e251fee921b..7e1af535ae83 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override RequiredClassRequiredNotnullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNotnullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumString? requiredClassRequiredNotnullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumString.HasValue ? RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs index 97db2037f953..5ede755b11d4 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerJsonConverter : JsonConvert /// public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override RequiredClassRequiredNullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger? requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumInteger.HasValue ? RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs index 2f53261cd6ff..c59223bbfff6 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyJsonConverter : JsonCon /// public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonRe /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override RequiredClassRequiredNullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly? requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs index 7efe892e9246..bf6c28314256 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override RequiredClassRequiredNullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumString? requiredClassRequiredNullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumString.HasValue ? RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs index df5553038566..4a62f6ccf7e3 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -149,9 +149,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs index 0c0c757cc59b..fc932e79b93f 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs @@ -148,6 +148,9 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override TestDescendantsObjectType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestDescendantsObjectType? result = rawValue == null @@ -168,7 +171,10 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestDescendantsObjectType? testDescendantsObjectType, JsonSerializerOptions options) { - writer.WriteStringValue(testDescendantsObjectType.HasValue ? TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString() : "null"); + if (testDescendantsObjectType.HasValue) + writer.WriteStringValue(TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs index 4fe8d2deb709..6b34ecb05787 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -162,6 +162,9 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersEnumHeaderStringParameter? result = rawValue == null @@ -182,7 +185,10 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + if (testEnumParametersEnumHeaderStringParameter.HasValue) + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs index d4d97e76043f..e76d34f002f6 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs @@ -85,7 +85,13 @@ public static TestEnumParametersEnumQueryDoubleParameter FromString(string value /// public static double ToJsonValue(TestEnumParametersEnumQueryDoubleParameter value) { - return (double) value; + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_1_DOT_1) + return 1.1d; + + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_MINUS_1_DOT_2) + return -1.2d; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); } } @@ -104,15 +110,10 @@ public class TestEnumParametersEnumQueryDoubleParameterJsonConverter : JsonConve /// public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +125,7 @@ public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonRead /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter)); } } @@ -142,15 +143,13 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override TestEnumParametersEnumQueryDoubleParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +161,10 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter? testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryDoubleParameter.HasValue ? TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryDoubleParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs index 85149c3f5eb9..cf70b0624f9b 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs @@ -104,15 +104,10 @@ public class TestEnumParametersEnumQueryIntegerParameterJsonConverter : JsonConv /// public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter)); } } @@ -142,15 +137,13 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override TestEnumParametersEnumQueryIntegerParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter? testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryIntegerParameter.HasValue ? TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryIntegerParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs index 2e81a11c33b2..564a3fc67e09 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs @@ -163,6 +163,9 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override TestEnumParametersRequestEnumFormString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormString? result = rawValue == null @@ -183,7 +186,10 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormString? testEnumParametersRequestEnumFormString, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormString.HasValue ? TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormString.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs index 5c00030c30a4..41a116adffd4 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs @@ -148,6 +148,9 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override TestEnumParametersRequestEnumFormStringArrayInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormStringArrayInner? result = rawValue == null @@ -168,7 +171,10 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormStringArrayInner? testEnumParametersRequestEnumFormStringArrayInner, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormStringArrayInner.HasValue ? TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormStringArrayInner.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResult.cs index 508d19f2807e..57a3be2b020e 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Zebra.cs index d3fbe37b12e5..4dccd19ea739 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Zebra.cs @@ -139,9 +139,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(ZebraTypeValueConverter.FromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs index 5eb8d6bac71e..f5ef7a380fe4 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs @@ -162,6 +162,9 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override ZebraType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZebraType? result = rawValue == null @@ -182,7 +185,10 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZebraType? zebraType, JsonSerializerOptions options) { - writer.WriteStringValue(zebraType.HasValue ? ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString() : "null"); + if (zebraType.HasValue) + writer.WriteStringValue(ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 7373bc5873d5..9e26b250980d 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -126,9 +126,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClassZeroBasedEnumValueConverter.FromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs index cb6f10e40b3a..39709c18f566 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override ZeroBasedEnumClassZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnumClassZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnumClassZeroBasedEnum? zeroBasedEnumClassZeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnumClassZeroBasedEnum.HasValue ? ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnumClassZeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs index c37ba2ec211e..399682496092 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs @@ -176,9 +176,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()!); break; case "pet_type": - string? petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs index f1139898f661..62faa598e821 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -169,9 +169,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()!); break; case "$schema": - string? schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs index d86b93b3ff02..a3debe262507 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs @@ -114,9 +114,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs index 152103158d0a..fcd6c11bba94 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs @@ -114,9 +114,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs index 9a6f097e92c2..07a1752fe7c5 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -280,9 +280,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); break; case "just_symbol": - string? justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs index 592f6a59c31a..daf0b57af01b 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs @@ -164,6 +164,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -184,7 +187,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs index ea7a5bd26988..2cab1f474956 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs @@ -741,43 +741,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string? enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string? enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string? outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string? outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string? outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string? outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -866,15 +854,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger!.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value!.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue!.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value!.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs index c4c43309bec1..9fd06e63a8c0 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs @@ -316,9 +316,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs index 0476c873cd87..1497d9eca8cd 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -164,6 +164,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -184,7 +187,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index 68faa3cd5de2..7cdb4970271b 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -164,6 +164,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -184,7 +187,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index 6ba997e06eb1..7a9b57b3ddd0 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -117,15 +117,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -137,7 +132,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -155,15 +150,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -175,7 +168,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index d8d27e54ee34..b5acfb593af1 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -117,15 +117,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -137,7 +132,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -155,15 +150,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -175,7 +168,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs index 5a1f2a6e439e..b7de72535a4f 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -234,6 +234,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -254,7 +257,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs index 56b981a0e2ad..6b38ed275b24 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs @@ -294,9 +294,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs index 0c7dc7eab56f..6e6c85f5894b 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1839,20 +1839,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string? requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string? requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1885,20 +1881,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string? notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string? notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1916,20 +1908,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string? notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string? notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1950,23 +1938,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string? requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string? requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs index f1a80055f735..2946aae26354 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -217,9 +217,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs index e7829b5974ee..70ec0260df6a 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs @@ -164,9 +164,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string? codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs index f53e8d34214c..418868cd36f7 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -151,6 +151,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -171,7 +174,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs index 4ca12a36d096..49a49ba878b2 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs @@ -221,9 +221,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()!); break; case "type": - string? typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index 5434f2b84ea5..d6b37f71c918 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -150,6 +150,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -170,7 +173,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index dfb395124397..c3b6952eeab2 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -194,9 +194,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string? zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs index ff5df164f2c9..c267b1230a70 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs @@ -174,9 +174,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()); break; case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs index ad5599ac0126..7194bd67aa85 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -167,9 +167,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs index 78e8ee587c11..b757fed7f39b 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs index a9859338c4ba..c37c11e6cfb5 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs index 2a7d6a8a5f4d..bbb479c65fa3 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -278,9 +278,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs index b44f96171f59..d63c27034c6b 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs @@ -739,43 +739,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -864,15 +852,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Order.cs index 094096b6350d..8224cd7c6100 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Order.cs @@ -314,9 +314,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Pet.cs index 7e8a3d34957a..1f072c29e50c 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Pet.cs @@ -292,9 +292,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs index 6217ae6e6799..72395956a95c 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1837,20 +1837,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1883,20 +1879,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1914,20 +1906,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1948,23 +1936,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs index 36c7ef1ca217..7c3fafb897f7 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -215,9 +215,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResult.cs index 508d19f2807e..57a3be2b020e 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Zebra.cs index 0efe7f985a3a..31aa8b479e2d 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Zebra.cs @@ -219,9 +219,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 9722305fcb2a..ba3f4f4bdda3 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -192,9 +192,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs index 4131c59373af..8b6c27289051 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs @@ -177,9 +177,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()!); break; case "pet_type": - string? petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs index f7b7ff3f95b2..e8673a70e147 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -170,9 +170,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()!); break; case "$schema": - string? schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs index 9af51efffe3c..868219034112 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs @@ -115,9 +115,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs index 5e39d2322847..c5e7fa4b02d7 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs @@ -115,9 +115,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs index 5c9774abc417..c9263aad4870 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -281,9 +281,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); break; case "just_symbol": - string? justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs index 6192d15c9f5f..fee0d4a8f728 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs @@ -165,6 +165,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -185,7 +188,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs index 897a9bd24efe..a1691d89147a 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs @@ -742,43 +742,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string? enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string? enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string? outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string? outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string? outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string? outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -867,15 +855,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger!.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value!.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue!.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value!.Value)); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs index fff55dc03b4b..cf0f61f87264 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs @@ -317,9 +317,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs index c2b58fa0eba1..71f82a74a6fb 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -165,6 +165,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -185,7 +188,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index fa6acccc08e7..3afb38ee60c4 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -165,6 +165,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -185,7 +188,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index 362553f662a9..a442934bb5b8 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -118,15 +118,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -138,7 +133,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -156,15 +151,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -176,7 +169,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index fba1de8e6f39..a4c6123fc064 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -118,15 +118,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -138,7 +133,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -156,15 +151,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -176,7 +169,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b8716ad2b25f..a412be9cef62 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -235,6 +235,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -255,7 +258,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs index fc68eb27a177..f20ae86e37cd 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs @@ -295,9 +295,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs index 074d0e77ee37..ec4a5c4fb49d 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1840,20 +1840,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string? requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string? requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1886,20 +1882,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string? notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string? notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1917,20 +1909,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string? notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string? notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1951,23 +1939,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string? requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string? requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs index 538b8c90d98f..0c675082dd5c 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -218,9 +218,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs index df0deacac70e..f802f7fe13df 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs @@ -165,9 +165,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string? codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs index 029a66af5180..a18f3d7d0f72 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -152,6 +152,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -172,7 +175,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs index 0d0e7222c42b..dd924dac8f9f 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs @@ -222,9 +222,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()!); break; case "type": - string? typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index c553e7d9ef54..95c7d5fa7df6 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -151,6 +151,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -171,7 +174,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 74792442fd0e..02305a513d3d 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -195,9 +195,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string? zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs index 632caa963cf7..b753c1e6bcaa 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs @@ -119,9 +119,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCatAllOfPetTypeValueConverter.FromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "name": name = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs index 252a51260bcf..1bed600a55f5 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs @@ -134,6 +134,9 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override ChildCatAllOfPetType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ChildCatAllOfPetType? result = rawValue == null @@ -154,7 +157,10 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, ChildCatAllOfPetType? childCatAllOfPetType, JsonSerializerOptions options) { - writer.WriteStringValue(childCatAllOfPetType.HasValue ? ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString() : "null"); + if (childCatAllOfPetType.HasValue) + writer.WriteStringValue(ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs index de8390a77eb4..bf6de7bba955 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -115,9 +115,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivityAllOfSchemaValueConverter.FromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs index 9760b9efadd6..dbb402dc4ac8 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs @@ -134,6 +134,9 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override CopyActivityAllOfSchema? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); CopyActivityAllOfSchema? result = rawValue == null @@ -154,7 +157,10 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, CopyActivityAllOfSchema? copyActivityAllOfSchema, JsonSerializerOptions options) { - writer.WriteStringValue(copyActivityAllOfSchema.HasValue ? CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString() : "null"); + if (copyActivityAllOfSchema.HasValue) + writer.WriteStringValue(CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs index 1ed4938d5fa7..47add6f4a8a2 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs index fd2ec581e4df..a710c8700ad6 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs index 007eba77a358..32f3aff80958 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -146,9 +146,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArraysJustSymbolValueConverter.FromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs index 2ceb96620d05..3d3db1add77a 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs @@ -148,6 +148,9 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override EnumArraysArrayEnumInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysArrayEnumInner? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysArrayEnumInner? enumArraysArrayEnumInner, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysArrayEnumInner.HasValue ? EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString() : "null"); + if (enumArraysArrayEnumInner.HasValue) + writer.WriteStringValue(EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs index 8400d5cd4273..67a8cfe66128 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs @@ -148,6 +148,9 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override EnumArraysJustSymbol? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysJustSymbol? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysJustSymbol? enumArraysJustSymbol, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysJustSymbol.HasValue ? EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString() : "null"); + if (enumArraysJustSymbol.HasValue) + writer.WriteStringValue(EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs index cb22e561feaf..b9136795e782 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs @@ -255,49 +255,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - string enumIntegerRawValue = utf8JsonReader.GetString(); - if (enumIntegerRawValue != null) - enumInteger = new Option(EnumTestEnumIntegerValueConverter.FromStringOrDefault(enumIntegerRawValue)); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - string enumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (enumIntegerOnlyRawValue != null) - enumIntegerOnly = new Option(EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(enumIntegerOnlyRawValue)); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - string enumNumberRawValue = utf8JsonReader.GetString(); - if (enumNumberRawValue != null) - enumNumber = new Option(TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(enumNumberRawValue)); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -363,20 +345,14 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("enum_string_required", enumStringRequiredRawValue); if (enumTest.EnumIntegerOption.IsSet) - { - var enumIntegerRawValue = EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumInteger.Value); - writer.WriteNumber("enum_integer", enumIntegerRawValue); - } + writer.WriteNumber("enum_integer", EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumIntegerOption.Value.Value)); + if (enumTest.EnumIntegerOnlyOption.IsSet) - { - var enumIntegerOnlyRawValue = EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnly.Value); - writer.WriteNumber("enum_integer_only", enumIntegerOnlyRawValue); - } + writer.WriteNumber("enum_integer_only", EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnlyOption.Value.Value)); + if (enumTest.EnumNumberOption.IsSet) - { - var enumNumberRawValue = TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumber.Value); - writer.WriteNumber("enum_number", enumNumberRawValue); - } + writer.WriteNumber("enum_number", TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumberOption.Value.Value)); + if (enumTest.EnumStringOption.IsSet) { var enumStringRawValue = EnumTestEnumStringValueConverter.ToJsonValue(enumTest.EnumString.Value); @@ -396,15 +372,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs index 19178ecba280..5ea93c467d62 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerJsonConverter : JsonConverter public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToC /// public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override EnumTestEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger? enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumInteger.HasValue ? EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value).ToString() : "null"); + if (enumTestEnumInteger.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs index 6a999c69d575..dab24618fddd 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerOnlyJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typ /// public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly? enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumIntegerOnly.HasValue ? EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value).ToString() : "null"); + if (enumTestEnumIntegerOnly.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs index 4d02eeaec018..6afc370e3ca5 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs @@ -232,6 +232,9 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override EnumTestEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumTestEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumString? enumTestEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumString.HasValue ? EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString() : "null"); + if (enumTestEnumString.HasValue) + writer.WriteStringValue(EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs index e7f98f931cc9..d1ac7f8dd36b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs @@ -162,6 +162,9 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override FindPetsByStatusStatusParameterInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); FindPetsByStatusStatusParameterInner? result = rawValue == null @@ -182,7 +185,10 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override void Write(Utf8JsonWriter writer, FindPetsByStatusStatusParameterInner? findPetsByStatusStatusParameterInner, JsonSerializerOptions options) { - writer.WriteStringValue(findPetsByStatusStatusParameterInner.HasValue ? FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString() : "null"); + if (findPetsByStatusStatusParameterInner.HasValue) + writer.WriteStringValue(FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs index 3c7331f80f28..0f34a3ceea08 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs @@ -148,6 +148,9 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override MapTestMapOfEnumStringValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); MapTestMapOfEnumStringValue? result = rawValue == null @@ -168,7 +171,10 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, MapTestMapOfEnumStringValue? mapTestMapOfEnumStringValue, JsonSerializerOptions options) { - writer.WriteStringValue(mapTestMapOfEnumStringValue.HasValue ? MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString() : "null"); + if (mapTestMapOfEnumStringValue.HasValue) + writer.WriteStringValue(MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Order.cs index 8af5defaed7e..2e8b9fad0afd 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Order.cs @@ -232,9 +232,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(OrderStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs index cd0ff06ce52e..e193de19a3ea 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs @@ -163,6 +163,9 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override OrderStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OrderStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OrderStatus? orderStatus, JsonSerializerOptions options) { - writer.WriteStringValue(orderStatus.HasValue ? OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString() : "null"); + if (orderStatus.HasValue) + writer.WriteStringValue(OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Pet.cs index 6e741c362d66..e8e0c40b68b3 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Pet.cs @@ -210,9 +210,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(PetStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs index 52de1419c804..1a60f1c7856c 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs @@ -163,6 +163,9 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override PetStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); PetStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, PetStatus? petStatus, JsonSerializerOptions options) { - writer.WriteStringValue(petStatus.HasValue ? PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString() : "null"); + if (petStatus.HasValue) + writer.WriteStringValue(PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs index f7422f86f558..529e0b6ef881 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -759,24 +759,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - string requiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerRawValue != null) - requiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerRawValue)); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - string requiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerOnlyRawValue != null) - requiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerOnlyRawValue)); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -809,24 +801,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - string notrequiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerRawValue != null) - notrequiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerRawValue)); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - string notrequiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerOnlyRawValue != null) - notrequiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerOnlyRawValue)); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -844,24 +828,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - string notrequiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerRawValue != null) - notrequiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerRawValue)); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - string notrequiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerOnlyRawValue != null) - notrequiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerOnlyRawValue)); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -882,27 +858,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - string requiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerRawValue != null) - requiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(requiredNullableEnumIntegerRawValue)); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - string requiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerOnlyRawValue != null) - requiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNullableEnumIntegerOnlyRawValue)); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1095,11 +1063,9 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("required_notnullable_datetime_prop", requiredClass.RequiredNotnullableDatetimeProp.ToString(RequiredNotnullableDatetimePropFormat)); - var requiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger); - writer.WriteNumber("required_notnullable_enum_integer", requiredNotnullableEnumIntegerRawValue); + writer.WriteNumber("required_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger)); - var requiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly); - writer.WriteNumber("required_notnullable_enum_integer_only", requiredNotnullableEnumIntegerOnlyRawValue); + writer.WriteNumber("required_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly)); var requiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumString); writer.WriteString("required_notnullable_enum_string", requiredNotnullableEnumStringRawValue); @@ -1143,15 +1109,11 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("notrequired_notnullable_datetime_prop", requiredClass.NotrequiredNotnullableDatetimePropOption.Value.Value.ToString(NotrequiredNotnullableDatetimePropFormat)); if (requiredClass.NotrequiredNotnullableEnumIntegerOption.IsSet) - { - var notrequiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumInteger.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer", notrequiredNotnullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.IsSet) - { - var notrequiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnly.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer_only", notrequiredNotnullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumStringOption.IsSet) { var notrequiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumString.Value); @@ -1190,20 +1152,16 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, if (requiredClass.NotrequiredNullableEnumIntegerOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOption.Value != null) - { - var notrequiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer", notrequiredNullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer"); + if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value != null) - { - var notrequiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer_only", notrequiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer_only"); + if (requiredClass.NotrequiredNullableEnumStringOption.IsSet) if (requiredClass.NotrequiredNullableEnumStringOption.Value != null) { @@ -1254,21 +1212,15 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, else writer.WriteNull("required_nullable_datetime_prop"); - if (requiredClass.RequiredNullableEnumInteger == null) - writer.WriteNull("required_nullable_enum_integer"); + if (requiredClass.RequiredNullableEnumInteger != null) + writer.WriteNumber("required_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value)); else - { - var requiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value); - writer.WriteNumber("required_nullable_enum_integer", requiredNullableEnumIntegerRawValue); - } + writer.WriteNull("required_nullable_enum_integer"); - if (requiredClass.RequiredNullableEnumIntegerOnly == null) - writer.WriteNull("required_nullable_enum_integer_only"); + if (requiredClass.RequiredNullableEnumIntegerOnly != null) + writer.WriteNumber("required_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value)); else - { - var requiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value); - writer.WriteNumber("required_nullable_enum_integer_only", requiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNull("required_nullable_enum_integer_only"); if (requiredClass.RequiredNullableEnumString == null) writer.WriteNull("required_nullable_enum_string"); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs index fcdc55074811..28b19513d368 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerJsonConverter : JsonConv /// public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override RequiredClassRequiredNotnullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger? requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumInteger.HasValue ? RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs index 1d33399c6331..7b5b97f0f8c6 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyJsonConverter : Json /// public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override RequiredClassRequiredNotnullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly? requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs index 1e251fee921b..7e1af535ae83 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override RequiredClassRequiredNotnullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNotnullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumString? requiredClassRequiredNotnullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumString.HasValue ? RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs index 97db2037f953..5ede755b11d4 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerJsonConverter : JsonConvert /// public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override RequiredClassRequiredNullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger? requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumInteger.HasValue ? RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs index 2f53261cd6ff..c59223bbfff6 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyJsonConverter : JsonCon /// public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonRe /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override RequiredClassRequiredNullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly? requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs index 7efe892e9246..bf6c28314256 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override RequiredClassRequiredNullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumString? requiredClassRequiredNullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumString.HasValue ? RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs index df5553038566..4a62f6ccf7e3 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -149,9 +149,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs index 0c0c757cc59b..fc932e79b93f 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs @@ -148,6 +148,9 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override TestDescendantsObjectType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestDescendantsObjectType? result = rawValue == null @@ -168,7 +171,10 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestDescendantsObjectType? testDescendantsObjectType, JsonSerializerOptions options) { - writer.WriteStringValue(testDescendantsObjectType.HasValue ? TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString() : "null"); + if (testDescendantsObjectType.HasValue) + writer.WriteStringValue(TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs index 4fe8d2deb709..6b34ecb05787 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -162,6 +162,9 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersEnumHeaderStringParameter? result = rawValue == null @@ -182,7 +185,10 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + if (testEnumParametersEnumHeaderStringParameter.HasValue) + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs index d4d97e76043f..e76d34f002f6 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs @@ -85,7 +85,13 @@ public static TestEnumParametersEnumQueryDoubleParameter FromString(string value /// public static double ToJsonValue(TestEnumParametersEnumQueryDoubleParameter value) { - return (double) value; + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_1_DOT_1) + return 1.1d; + + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_MINUS_1_DOT_2) + return -1.2d; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); } } @@ -104,15 +110,10 @@ public class TestEnumParametersEnumQueryDoubleParameterJsonConverter : JsonConve /// public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +125,7 @@ public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonRead /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter)); } } @@ -142,15 +143,13 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override TestEnumParametersEnumQueryDoubleParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +161,10 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter? testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryDoubleParameter.HasValue ? TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryDoubleParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs index 85149c3f5eb9..cf70b0624f9b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs @@ -104,15 +104,10 @@ public class TestEnumParametersEnumQueryIntegerParameterJsonConverter : JsonConv /// public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter)); } } @@ -142,15 +137,13 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override TestEnumParametersEnumQueryIntegerParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter? testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryIntegerParameter.HasValue ? TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryIntegerParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs index 2e81a11c33b2..564a3fc67e09 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs @@ -163,6 +163,9 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override TestEnumParametersRequestEnumFormString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormString? result = rawValue == null @@ -183,7 +186,10 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormString? testEnumParametersRequestEnumFormString, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormString.HasValue ? TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormString.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs index 5c00030c30a4..41a116adffd4 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs @@ -148,6 +148,9 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override TestEnumParametersRequestEnumFormStringArrayInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormStringArrayInner? result = rawValue == null @@ -168,7 +171,10 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormStringArrayInner? testEnumParametersRequestEnumFormStringArrayInner, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormStringArrayInner.HasValue ? TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormStringArrayInner.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResult.cs index cfa1aee10f8d..d6a420106524 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Zebra.cs index 0b9bb3c3bc51..9ff9a244ea1e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Zebra.cs @@ -139,9 +139,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(ZebraTypeValueConverter.FromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs index 5eb8d6bac71e..f5ef7a380fe4 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs @@ -162,6 +162,9 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override ZebraType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZebraType? result = rawValue == null @@ -182,7 +185,10 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZebraType? zebraType, JsonSerializerOptions options) { - writer.WriteStringValue(zebraType.HasValue ? ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString() : "null"); + if (zebraType.HasValue) + writer.WriteStringValue(ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index d538b722cae0..e07c6fafd43e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -126,9 +126,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClassZeroBasedEnumValueConverter.FromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs index cb6f10e40b3a..39709c18f566 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override ZeroBasedEnumClassZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnumClassZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnumClassZeroBasedEnum? zeroBasedEnumClassZeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnumClassZeroBasedEnum.HasValue ? ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnumClassZeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs index cce039237aea..ae60cab2cd68 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs @@ -174,9 +174,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()); break; case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs index ad5599ac0126..7194bd67aa85 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -167,9 +167,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs index 78e8ee587c11..b757fed7f39b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs index a9859338c4ba..c37c11e6cfb5 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs index c107741e961d..1f27d9414fd0 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -278,9 +278,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs index 40d5e2753631..8e301bf5149b 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs @@ -739,43 +739,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -864,15 +852,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Order.cs index ad31eb6ad143..6194d3110f57 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Order.cs @@ -314,9 +314,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Pet.cs index e8e661445a1c..972b5e234038 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Pet.cs @@ -292,9 +292,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs index fee9ba7f2965..90412ad4626a 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1837,20 +1837,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1883,20 +1879,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1914,20 +1906,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1948,23 +1936,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs index 36c7ef1ca217..7c3fafb897f7 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -215,9 +215,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResult.cs index cfa1aee10f8d..d6a420106524 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Zebra.cs index bdf489815279..866a78fc9eca 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Zebra.cs @@ -219,9 +219,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index a6d408aeecc1..8f5f380794a7 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -192,9 +192,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs index 632caa963cf7..b753c1e6bcaa 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs @@ -119,9 +119,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCatAllOfPetTypeValueConverter.FromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "name": name = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs index 252a51260bcf..1bed600a55f5 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs @@ -134,6 +134,9 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override ChildCatAllOfPetType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ChildCatAllOfPetType? result = rawValue == null @@ -154,7 +157,10 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, ChildCatAllOfPetType? childCatAllOfPetType, JsonSerializerOptions options) { - writer.WriteStringValue(childCatAllOfPetType.HasValue ? ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString() : "null"); + if (childCatAllOfPetType.HasValue) + writer.WriteStringValue(ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs index de8390a77eb4..bf6de7bba955 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -115,9 +115,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivityAllOfSchemaValueConverter.FromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs index 9760b9efadd6..dbb402dc4ac8 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs @@ -134,6 +134,9 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override CopyActivityAllOfSchema? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); CopyActivityAllOfSchema? result = rawValue == null @@ -154,7 +157,10 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, CopyActivityAllOfSchema? copyActivityAllOfSchema, JsonSerializerOptions options) { - writer.WriteStringValue(copyActivityAllOfSchema.HasValue ? CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString() : "null"); + if (copyActivityAllOfSchema.HasValue) + writer.WriteStringValue(CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs index 1ed4938d5fa7..47add6f4a8a2 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs index fd2ec581e4df..a710c8700ad6 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs index 007eba77a358..32f3aff80958 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -146,9 +146,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArraysJustSymbolValueConverter.FromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs index 2ceb96620d05..3d3db1add77a 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs @@ -148,6 +148,9 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override EnumArraysArrayEnumInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysArrayEnumInner? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysArrayEnumInner? enumArraysArrayEnumInner, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysArrayEnumInner.HasValue ? EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString() : "null"); + if (enumArraysArrayEnumInner.HasValue) + writer.WriteStringValue(EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs index 8400d5cd4273..67a8cfe66128 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs @@ -148,6 +148,9 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override EnumArraysJustSymbol? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysJustSymbol? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysJustSymbol? enumArraysJustSymbol, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysJustSymbol.HasValue ? EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString() : "null"); + if (enumArraysJustSymbol.HasValue) + writer.WriteStringValue(EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs index cb22e561feaf..b9136795e782 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs @@ -255,49 +255,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - string enumIntegerRawValue = utf8JsonReader.GetString(); - if (enumIntegerRawValue != null) - enumInteger = new Option(EnumTestEnumIntegerValueConverter.FromStringOrDefault(enumIntegerRawValue)); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - string enumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (enumIntegerOnlyRawValue != null) - enumIntegerOnly = new Option(EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(enumIntegerOnlyRawValue)); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - string enumNumberRawValue = utf8JsonReader.GetString(); - if (enumNumberRawValue != null) - enumNumber = new Option(TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(enumNumberRawValue)); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -363,20 +345,14 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("enum_string_required", enumStringRequiredRawValue); if (enumTest.EnumIntegerOption.IsSet) - { - var enumIntegerRawValue = EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumInteger.Value); - writer.WriteNumber("enum_integer", enumIntegerRawValue); - } + writer.WriteNumber("enum_integer", EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumIntegerOption.Value.Value)); + if (enumTest.EnumIntegerOnlyOption.IsSet) - { - var enumIntegerOnlyRawValue = EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnly.Value); - writer.WriteNumber("enum_integer_only", enumIntegerOnlyRawValue); - } + writer.WriteNumber("enum_integer_only", EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnlyOption.Value.Value)); + if (enumTest.EnumNumberOption.IsSet) - { - var enumNumberRawValue = TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumber.Value); - writer.WriteNumber("enum_number", enumNumberRawValue); - } + writer.WriteNumber("enum_number", TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumberOption.Value.Value)); + if (enumTest.EnumStringOption.IsSet) { var enumStringRawValue = EnumTestEnumStringValueConverter.ToJsonValue(enumTest.EnumString.Value); @@ -396,15 +372,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs index 19178ecba280..5ea93c467d62 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerJsonConverter : JsonConverter public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToC /// public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override EnumTestEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger? enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumInteger.HasValue ? EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value).ToString() : "null"); + if (enumTestEnumInteger.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs index 6a999c69d575..dab24618fddd 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerOnlyJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typ /// public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly? enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumIntegerOnly.HasValue ? EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value).ToString() : "null"); + if (enumTestEnumIntegerOnly.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs index 4d02eeaec018..6afc370e3ca5 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs @@ -232,6 +232,9 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override EnumTestEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumTestEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumString? enumTestEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumString.HasValue ? EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString() : "null"); + if (enumTestEnumString.HasValue) + writer.WriteStringValue(EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs index e7f98f931cc9..d1ac7f8dd36b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs @@ -162,6 +162,9 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override FindPetsByStatusStatusParameterInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); FindPetsByStatusStatusParameterInner? result = rawValue == null @@ -182,7 +185,10 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override void Write(Utf8JsonWriter writer, FindPetsByStatusStatusParameterInner? findPetsByStatusStatusParameterInner, JsonSerializerOptions options) { - writer.WriteStringValue(findPetsByStatusStatusParameterInner.HasValue ? FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString() : "null"); + if (findPetsByStatusStatusParameterInner.HasValue) + writer.WriteStringValue(FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs index 3c7331f80f28..0f34a3ceea08 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs @@ -148,6 +148,9 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override MapTestMapOfEnumStringValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); MapTestMapOfEnumStringValue? result = rawValue == null @@ -168,7 +171,10 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, MapTestMapOfEnumStringValue? mapTestMapOfEnumStringValue, JsonSerializerOptions options) { - writer.WriteStringValue(mapTestMapOfEnumStringValue.HasValue ? MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString() : "null"); + if (mapTestMapOfEnumStringValue.HasValue) + writer.WriteStringValue(MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Order.cs index 8af5defaed7e..2e8b9fad0afd 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Order.cs @@ -232,9 +232,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(OrderStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs index cd0ff06ce52e..e193de19a3ea 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs @@ -163,6 +163,9 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override OrderStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OrderStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OrderStatus? orderStatus, JsonSerializerOptions options) { - writer.WriteStringValue(orderStatus.HasValue ? OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString() : "null"); + if (orderStatus.HasValue) + writer.WriteStringValue(OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Pet.cs index 6e741c362d66..e8e0c40b68b3 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Pet.cs @@ -210,9 +210,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(PetStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs index 52de1419c804..1a60f1c7856c 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs @@ -163,6 +163,9 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override PetStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); PetStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, PetStatus? petStatus, JsonSerializerOptions options) { - writer.WriteStringValue(petStatus.HasValue ? PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString() : "null"); + if (petStatus.HasValue) + writer.WriteStringValue(PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs index f7422f86f558..529e0b6ef881 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -759,24 +759,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - string requiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerRawValue != null) - requiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerRawValue)); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - string requiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerOnlyRawValue != null) - requiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerOnlyRawValue)); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -809,24 +801,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - string notrequiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerRawValue != null) - notrequiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerRawValue)); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - string notrequiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerOnlyRawValue != null) - notrequiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerOnlyRawValue)); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -844,24 +828,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - string notrequiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerRawValue != null) - notrequiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerRawValue)); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - string notrequiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerOnlyRawValue != null) - notrequiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerOnlyRawValue)); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -882,27 +858,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - string requiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerRawValue != null) - requiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(requiredNullableEnumIntegerRawValue)); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - string requiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerOnlyRawValue != null) - requiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNullableEnumIntegerOnlyRawValue)); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1095,11 +1063,9 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("required_notnullable_datetime_prop", requiredClass.RequiredNotnullableDatetimeProp.ToString(RequiredNotnullableDatetimePropFormat)); - var requiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger); - writer.WriteNumber("required_notnullable_enum_integer", requiredNotnullableEnumIntegerRawValue); + writer.WriteNumber("required_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger)); - var requiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly); - writer.WriteNumber("required_notnullable_enum_integer_only", requiredNotnullableEnumIntegerOnlyRawValue); + writer.WriteNumber("required_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly)); var requiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumString); writer.WriteString("required_notnullable_enum_string", requiredNotnullableEnumStringRawValue); @@ -1143,15 +1109,11 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("notrequired_notnullable_datetime_prop", requiredClass.NotrequiredNotnullableDatetimePropOption.Value.Value.ToString(NotrequiredNotnullableDatetimePropFormat)); if (requiredClass.NotrequiredNotnullableEnumIntegerOption.IsSet) - { - var notrequiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumInteger.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer", notrequiredNotnullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.IsSet) - { - var notrequiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnly.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer_only", notrequiredNotnullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumStringOption.IsSet) { var notrequiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumString.Value); @@ -1190,20 +1152,16 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, if (requiredClass.NotrequiredNullableEnumIntegerOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOption.Value != null) - { - var notrequiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer", notrequiredNullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer"); + if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value != null) - { - var notrequiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer_only", notrequiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer_only"); + if (requiredClass.NotrequiredNullableEnumStringOption.IsSet) if (requiredClass.NotrequiredNullableEnumStringOption.Value != null) { @@ -1254,21 +1212,15 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, else writer.WriteNull("required_nullable_datetime_prop"); - if (requiredClass.RequiredNullableEnumInteger == null) - writer.WriteNull("required_nullable_enum_integer"); + if (requiredClass.RequiredNullableEnumInteger != null) + writer.WriteNumber("required_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value)); else - { - var requiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value); - writer.WriteNumber("required_nullable_enum_integer", requiredNullableEnumIntegerRawValue); - } + writer.WriteNull("required_nullable_enum_integer"); - if (requiredClass.RequiredNullableEnumIntegerOnly == null) - writer.WriteNull("required_nullable_enum_integer_only"); + if (requiredClass.RequiredNullableEnumIntegerOnly != null) + writer.WriteNumber("required_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value)); else - { - var requiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value); - writer.WriteNumber("required_nullable_enum_integer_only", requiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNull("required_nullable_enum_integer_only"); if (requiredClass.RequiredNullableEnumString == null) writer.WriteNull("required_nullable_enum_string"); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs index fcdc55074811..28b19513d368 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerJsonConverter : JsonConv /// public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override RequiredClassRequiredNotnullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger? requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumInteger.HasValue ? RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs index 1d33399c6331..7b5b97f0f8c6 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyJsonConverter : Json /// public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override RequiredClassRequiredNotnullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly? requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs index 1e251fee921b..7e1af535ae83 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override RequiredClassRequiredNotnullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNotnullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumString? requiredClassRequiredNotnullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumString.HasValue ? RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs index 97db2037f953..5ede755b11d4 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerJsonConverter : JsonConvert /// public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override RequiredClassRequiredNullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger? requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumInteger.HasValue ? RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs index 2f53261cd6ff..c59223bbfff6 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyJsonConverter : JsonCon /// public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonRe /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override RequiredClassRequiredNullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly? requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs index 7efe892e9246..bf6c28314256 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override RequiredClassRequiredNullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumString? requiredClassRequiredNullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumString.HasValue ? RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs index df5553038566..4a62f6ccf7e3 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -149,9 +149,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs index 0c0c757cc59b..fc932e79b93f 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs @@ -148,6 +148,9 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override TestDescendantsObjectType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestDescendantsObjectType? result = rawValue == null @@ -168,7 +171,10 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestDescendantsObjectType? testDescendantsObjectType, JsonSerializerOptions options) { - writer.WriteStringValue(testDescendantsObjectType.HasValue ? TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString() : "null"); + if (testDescendantsObjectType.HasValue) + writer.WriteStringValue(TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs index 4fe8d2deb709..6b34ecb05787 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -162,6 +162,9 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersEnumHeaderStringParameter? result = rawValue == null @@ -182,7 +185,10 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + if (testEnumParametersEnumHeaderStringParameter.HasValue) + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs index d4d97e76043f..e76d34f002f6 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs @@ -85,7 +85,13 @@ public static TestEnumParametersEnumQueryDoubleParameter FromString(string value /// public static double ToJsonValue(TestEnumParametersEnumQueryDoubleParameter value) { - return (double) value; + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_1_DOT_1) + return 1.1d; + + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_MINUS_1_DOT_2) + return -1.2d; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); } } @@ -104,15 +110,10 @@ public class TestEnumParametersEnumQueryDoubleParameterJsonConverter : JsonConve /// public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +125,7 @@ public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonRead /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter)); } } @@ -142,15 +143,13 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override TestEnumParametersEnumQueryDoubleParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +161,10 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter? testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryDoubleParameter.HasValue ? TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryDoubleParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs index 85149c3f5eb9..cf70b0624f9b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs @@ -104,15 +104,10 @@ public class TestEnumParametersEnumQueryIntegerParameterJsonConverter : JsonConv /// public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter)); } } @@ -142,15 +137,13 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override TestEnumParametersEnumQueryIntegerParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter? testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryIntegerParameter.HasValue ? TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryIntegerParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs index 2e81a11c33b2..564a3fc67e09 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs @@ -163,6 +163,9 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override TestEnumParametersRequestEnumFormString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormString? result = rawValue == null @@ -183,7 +186,10 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormString? testEnumParametersRequestEnumFormString, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormString.HasValue ? TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormString.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs index 5c00030c30a4..41a116adffd4 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs @@ -148,6 +148,9 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override TestEnumParametersRequestEnumFormStringArrayInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormStringArrayInner? result = rawValue == null @@ -168,7 +171,10 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormStringArrayInner? testEnumParametersRequestEnumFormStringArrayInner, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormStringArrayInner.HasValue ? TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormStringArrayInner.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs index cfa1aee10f8d..d6a420106524 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs index 0b9bb3c3bc51..9ff9a244ea1e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs @@ -139,9 +139,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(ZebraTypeValueConverter.FromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs index 5eb8d6bac71e..f5ef7a380fe4 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs @@ -162,6 +162,9 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override ZebraType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZebraType? result = rawValue == null @@ -182,7 +185,10 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZebraType? zebraType, JsonSerializerOptions options) { - writer.WriteStringValue(zebraType.HasValue ? ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString() : "null"); + if (zebraType.HasValue) + writer.WriteStringValue(ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index d538b722cae0..e07c6fafd43e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -126,9 +126,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClassZeroBasedEnumValueConverter.FromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs index cb6f10e40b3a..39709c18f566 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override ZeroBasedEnumClassZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnumClassZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnumClassZeroBasedEnum? zeroBasedEnumClassZeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnumClassZeroBasedEnum.HasValue ? ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnumClassZeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs index cce039237aea..ae60cab2cd68 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs @@ -174,9 +174,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()); break; case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs index ad5599ac0126..7194bd67aa85 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -167,9 +167,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs index 78e8ee587c11..b757fed7f39b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs index a9859338c4ba..c37c11e6cfb5 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs index c107741e961d..1f27d9414fd0 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -278,9 +278,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs index 40d5e2753631..8e301bf5149b 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs @@ -739,43 +739,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -864,15 +852,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Order.cs index ad31eb6ad143..6194d3110f57 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Order.cs @@ -314,9 +314,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Pet.cs index e8e661445a1c..972b5e234038 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Pet.cs @@ -292,9 +292,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs index fee9ba7f2965..90412ad4626a 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1837,20 +1837,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1883,20 +1879,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1914,20 +1906,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1948,23 +1936,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs index 36c7ef1ca217..7c3fafb897f7 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -215,9 +215,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs index cfa1aee10f8d..d6a420106524 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs index bdf489815279..866a78fc9eca 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs @@ -219,9 +219,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index a6d408aeecc1..8f5f380794a7 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -192,9 +192,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs index 99c5b315aa00..5974f78f0d87 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs @@ -119,9 +119,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCatAllOfPetTypeValueConverter.FromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "name": name = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs index 252a51260bcf..1bed600a55f5 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs @@ -134,6 +134,9 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override ChildCatAllOfPetType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ChildCatAllOfPetType? result = rawValue == null @@ -154,7 +157,10 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, ChildCatAllOfPetType? childCatAllOfPetType, JsonSerializerOptions options) { - writer.WriteStringValue(childCatAllOfPetType.HasValue ? ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString() : "null"); + if (childCatAllOfPetType.HasValue) + writer.WriteStringValue(ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs index de8390a77eb4..bf6de7bba955 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -115,9 +115,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivityAllOfSchemaValueConverter.FromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs index 9760b9efadd6..dbb402dc4ac8 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs @@ -134,6 +134,9 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override CopyActivityAllOfSchema? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); CopyActivityAllOfSchema? result = rawValue == null @@ -154,7 +157,10 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, CopyActivityAllOfSchema? copyActivityAllOfSchema, JsonSerializerOptions options) { - writer.WriteStringValue(copyActivityAllOfSchema.HasValue ? CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString() : "null"); + if (copyActivityAllOfSchema.HasValue) + writer.WriteStringValue(CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs index 1ed4938d5fa7..47add6f4a8a2 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs index fd2ec581e4df..a710c8700ad6 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs index afdb3342ce23..2a70168f51b4 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -146,9 +146,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArraysJustSymbolValueConverter.FromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs index 2ceb96620d05..3d3db1add77a 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs @@ -148,6 +148,9 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override EnumArraysArrayEnumInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysArrayEnumInner? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysArrayEnumInner? enumArraysArrayEnumInner, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysArrayEnumInner.HasValue ? EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString() : "null"); + if (enumArraysArrayEnumInner.HasValue) + writer.WriteStringValue(EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs index 8400d5cd4273..67a8cfe66128 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs @@ -148,6 +148,9 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override EnumArraysJustSymbol? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysJustSymbol? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysJustSymbol? enumArraysJustSymbol, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysJustSymbol.HasValue ? EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString() : "null"); + if (enumArraysJustSymbol.HasValue) + writer.WriteStringValue(EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs index 49ce4b0a6d6e..1c2f4745b78b 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs @@ -255,49 +255,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - string enumIntegerRawValue = utf8JsonReader.GetString(); - if (enumIntegerRawValue != null) - enumInteger = new Option(EnumTestEnumIntegerValueConverter.FromStringOrDefault(enumIntegerRawValue)); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - string enumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (enumIntegerOnlyRawValue != null) - enumIntegerOnly = new Option(EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(enumIntegerOnlyRawValue)); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - string enumNumberRawValue = utf8JsonReader.GetString(); - if (enumNumberRawValue != null) - enumNumber = new Option(TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(enumNumberRawValue)); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -363,20 +345,14 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("enum_string_required", enumStringRequiredRawValue); if (enumTest.EnumIntegerOption.IsSet) - { - var enumIntegerRawValue = EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumInteger.Value); - writer.WriteNumber("enum_integer", enumIntegerRawValue); - } + writer.WriteNumber("enum_integer", EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumIntegerOption.Value.Value)); + if (enumTest.EnumIntegerOnlyOption.IsSet) - { - var enumIntegerOnlyRawValue = EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnly.Value); - writer.WriteNumber("enum_integer_only", enumIntegerOnlyRawValue); - } + writer.WriteNumber("enum_integer_only", EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnlyOption.Value.Value)); + if (enumTest.EnumNumberOption.IsSet) - { - var enumNumberRawValue = TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumber.Value); - writer.WriteNumber("enum_number", enumNumberRawValue); - } + writer.WriteNumber("enum_number", TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumberOption.Value.Value)); + if (enumTest.EnumStringOption.IsSet) { var enumStringRawValue = EnumTestEnumStringValueConverter.ToJsonValue(enumTest.EnumString.Value); @@ -396,15 +372,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs index 19178ecba280..5ea93c467d62 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerJsonConverter : JsonConverter public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToC /// public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override EnumTestEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger? enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumInteger.HasValue ? EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value).ToString() : "null"); + if (enumTestEnumInteger.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs index 6a999c69d575..dab24618fddd 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerOnlyJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typ /// public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly? enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumIntegerOnly.HasValue ? EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value).ToString() : "null"); + if (enumTestEnumIntegerOnly.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs index 4d02eeaec018..6afc370e3ca5 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs @@ -232,6 +232,9 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override EnumTestEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumTestEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumString? enumTestEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumString.HasValue ? EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString() : "null"); + if (enumTestEnumString.HasValue) + writer.WriteStringValue(EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs index e7f98f931cc9..d1ac7f8dd36b 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs @@ -162,6 +162,9 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override FindPetsByStatusStatusParameterInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); FindPetsByStatusStatusParameterInner? result = rawValue == null @@ -182,7 +185,10 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override void Write(Utf8JsonWriter writer, FindPetsByStatusStatusParameterInner? findPetsByStatusStatusParameterInner, JsonSerializerOptions options) { - writer.WriteStringValue(findPetsByStatusStatusParameterInner.HasValue ? FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString() : "null"); + if (findPetsByStatusStatusParameterInner.HasValue) + writer.WriteStringValue(FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs index 3c7331f80f28..0f34a3ceea08 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs @@ -148,6 +148,9 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override MapTestMapOfEnumStringValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); MapTestMapOfEnumStringValue? result = rawValue == null @@ -168,7 +171,10 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, MapTestMapOfEnumStringValue? mapTestMapOfEnumStringValue, JsonSerializerOptions options) { - writer.WriteStringValue(mapTestMapOfEnumStringValue.HasValue ? MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString() : "null"); + if (mapTestMapOfEnumStringValue.HasValue) + writer.WriteStringValue(MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Order.cs index 0f70b6ee763d..05e54c085f18 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Order.cs @@ -232,9 +232,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(OrderStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs index cd0ff06ce52e..e193de19a3ea 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs @@ -163,6 +163,9 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override OrderStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OrderStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OrderStatus? orderStatus, JsonSerializerOptions options) { - writer.WriteStringValue(orderStatus.HasValue ? OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString() : "null"); + if (orderStatus.HasValue) + writer.WriteStringValue(OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pet.cs index 294770c56dfb..5b0634901da8 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Pet.cs @@ -210,9 +210,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(PetStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs index 52de1419c804..1a60f1c7856c 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs @@ -163,6 +163,9 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override PetStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); PetStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, PetStatus? petStatus, JsonSerializerOptions options) { - writer.WriteStringValue(petStatus.HasValue ? PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString() : "null"); + if (petStatus.HasValue) + writer.WriteStringValue(PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs index 8a2fc39d76bf..0f73d82a2086 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -759,24 +759,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - string requiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerRawValue != null) - requiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerRawValue)); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - string requiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerOnlyRawValue != null) - requiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerOnlyRawValue)); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -809,24 +801,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - string notrequiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerRawValue != null) - notrequiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerRawValue)); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - string notrequiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerOnlyRawValue != null) - notrequiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerOnlyRawValue)); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -844,24 +828,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - string notrequiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerRawValue != null) - notrequiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerRawValue)); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - string notrequiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerOnlyRawValue != null) - notrequiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerOnlyRawValue)); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -882,27 +858,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - string requiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerRawValue != null) - requiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(requiredNullableEnumIntegerRawValue)); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - string requiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerOnlyRawValue != null) - requiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNullableEnumIntegerOnlyRawValue)); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1095,11 +1063,9 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("required_notnullable_datetime_prop", requiredClass.RequiredNotnullableDatetimeProp.ToString(RequiredNotnullableDatetimePropFormat)); - var requiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger); - writer.WriteNumber("required_notnullable_enum_integer", requiredNotnullableEnumIntegerRawValue); + writer.WriteNumber("required_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger)); - var requiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly); - writer.WriteNumber("required_notnullable_enum_integer_only", requiredNotnullableEnumIntegerOnlyRawValue); + writer.WriteNumber("required_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly)); var requiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumString); writer.WriteString("required_notnullable_enum_string", requiredNotnullableEnumStringRawValue); @@ -1143,15 +1109,11 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("notrequired_notnullable_datetime_prop", requiredClass.NotrequiredNotnullableDatetimePropOption.Value.Value.ToString(NotrequiredNotnullableDatetimePropFormat)); if (requiredClass.NotrequiredNotnullableEnumIntegerOption.IsSet) - { - var notrequiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumInteger.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer", notrequiredNotnullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.IsSet) - { - var notrequiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnly.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer_only", notrequiredNotnullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumStringOption.IsSet) { var notrequiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumString.Value); @@ -1190,20 +1152,16 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, if (requiredClass.NotrequiredNullableEnumIntegerOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOption.Value != null) - { - var notrequiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer", notrequiredNullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer"); + if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value != null) - { - var notrequiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer_only", notrequiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer_only"); + if (requiredClass.NotrequiredNullableEnumStringOption.IsSet) if (requiredClass.NotrequiredNullableEnumStringOption.Value != null) { @@ -1254,21 +1212,15 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, else writer.WriteNull("required_nullable_datetime_prop"); - if (requiredClass.RequiredNullableEnumInteger == null) - writer.WriteNull("required_nullable_enum_integer"); + if (requiredClass.RequiredNullableEnumInteger != null) + writer.WriteNumber("required_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value)); else - { - var requiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value); - writer.WriteNumber("required_nullable_enum_integer", requiredNullableEnumIntegerRawValue); - } + writer.WriteNull("required_nullable_enum_integer"); - if (requiredClass.RequiredNullableEnumIntegerOnly == null) - writer.WriteNull("required_nullable_enum_integer_only"); + if (requiredClass.RequiredNullableEnumIntegerOnly != null) + writer.WriteNumber("required_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value)); else - { - var requiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value); - writer.WriteNumber("required_nullable_enum_integer_only", requiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNull("required_nullable_enum_integer_only"); if (requiredClass.RequiredNullableEnumString == null) writer.WriteNull("required_nullable_enum_string"); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs index fcdc55074811..28b19513d368 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerJsonConverter : JsonConv /// public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override RequiredClassRequiredNotnullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger? requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumInteger.HasValue ? RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs index 1d33399c6331..7b5b97f0f8c6 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyJsonConverter : Json /// public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override RequiredClassRequiredNotnullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly? requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs index 1e251fee921b..7e1af535ae83 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override RequiredClassRequiredNotnullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNotnullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumString? requiredClassRequiredNotnullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumString.HasValue ? RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs index 97db2037f953..5ede755b11d4 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerJsonConverter : JsonConvert /// public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override RequiredClassRequiredNullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger? requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumInteger.HasValue ? RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs index 2f53261cd6ff..c59223bbfff6 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyJsonConverter : JsonCon /// public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonRe /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override RequiredClassRequiredNullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly? requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs index 7efe892e9246..bf6c28314256 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override RequiredClassRequiredNullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumString? requiredClassRequiredNullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumString.HasValue ? RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs index df5553038566..4a62f6ccf7e3 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -149,9 +149,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs index 0c0c757cc59b..fc932e79b93f 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs @@ -148,6 +148,9 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override TestDescendantsObjectType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestDescendantsObjectType? result = rawValue == null @@ -168,7 +171,10 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestDescendantsObjectType? testDescendantsObjectType, JsonSerializerOptions options) { - writer.WriteStringValue(testDescendantsObjectType.HasValue ? TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString() : "null"); + if (testDescendantsObjectType.HasValue) + writer.WriteStringValue(TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs index 4fe8d2deb709..6b34ecb05787 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -162,6 +162,9 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersEnumHeaderStringParameter? result = rawValue == null @@ -182,7 +185,10 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + if (testEnumParametersEnumHeaderStringParameter.HasValue) + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs index d4d97e76043f..e76d34f002f6 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs @@ -85,7 +85,13 @@ public static TestEnumParametersEnumQueryDoubleParameter FromString(string value /// public static double ToJsonValue(TestEnumParametersEnumQueryDoubleParameter value) { - return (double) value; + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_1_DOT_1) + return 1.1d; + + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_MINUS_1_DOT_2) + return -1.2d; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); } } @@ -104,15 +110,10 @@ public class TestEnumParametersEnumQueryDoubleParameterJsonConverter : JsonConve /// public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +125,7 @@ public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonRead /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter)); } } @@ -142,15 +143,13 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override TestEnumParametersEnumQueryDoubleParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +161,10 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter? testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryDoubleParameter.HasValue ? TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryDoubleParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs index 85149c3f5eb9..cf70b0624f9b 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs @@ -104,15 +104,10 @@ public class TestEnumParametersEnumQueryIntegerParameterJsonConverter : JsonConv /// public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter)); } } @@ -142,15 +137,13 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override TestEnumParametersEnumQueryIntegerParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter? testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryIntegerParameter.HasValue ? TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryIntegerParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs index 2e81a11c33b2..564a3fc67e09 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs @@ -163,6 +163,9 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override TestEnumParametersRequestEnumFormString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormString? result = rawValue == null @@ -183,7 +186,10 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormString? testEnumParametersRequestEnumFormString, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormString.HasValue ? TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormString.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs index 5c00030c30a4..41a116adffd4 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs @@ -148,6 +148,9 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override TestEnumParametersRequestEnumFormStringArrayInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormStringArrayInner? result = rawValue == null @@ -168,7 +171,10 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormStringArrayInner? testEnumParametersRequestEnumFormStringArrayInner, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormStringArrayInner.HasValue ? TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormStringArrayInner.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs index 508d19f2807e..57a3be2b020e 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs index d3fbe37b12e5..4dccd19ea739 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Zebra.cs @@ -139,9 +139,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(ZebraTypeValueConverter.FromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs index 5eb8d6bac71e..f5ef7a380fe4 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs @@ -162,6 +162,9 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override ZebraType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZebraType? result = rawValue == null @@ -182,7 +185,10 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZebraType? zebraType, JsonSerializerOptions options) { - writer.WriteStringValue(zebraType.HasValue ? ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString() : "null"); + if (zebraType.HasValue) + writer.WriteStringValue(ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 7373bc5873d5..9e26b250980d 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -126,9 +126,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClassZeroBasedEnumValueConverter.FromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs index cb6f10e40b3a..39709c18f566 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override ZeroBasedEnumClassZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnumClassZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnumClassZeroBasedEnum? zeroBasedEnumClassZeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnumClassZeroBasedEnum.HasValue ? ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnumClassZeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs index c37ba2ec211e..399682496092 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs @@ -176,9 +176,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()!); break; case "pet_type": - string? petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs index f1139898f661..62faa598e821 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -169,9 +169,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()!); break; case "$schema": - string? schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs index d86b93b3ff02..a3debe262507 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs @@ -114,9 +114,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs index 152103158d0a..fcd6c11bba94 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs @@ -114,9 +114,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs index 9a6f097e92c2..07a1752fe7c5 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -280,9 +280,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); break; case "just_symbol": - string? justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs index 592f6a59c31a..daf0b57af01b 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs @@ -164,6 +164,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -184,7 +187,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs index ea7a5bd26988..2cab1f474956 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs @@ -741,43 +741,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string? enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string? enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string? outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string? outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string? outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string? outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -866,15 +854,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger!.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value!.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue!.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value!.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs index c4c43309bec1..9fd06e63a8c0 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs @@ -316,9 +316,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs index 0476c873cd87..1497d9eca8cd 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -164,6 +164,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -184,7 +187,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index 68faa3cd5de2..7cdb4970271b 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -164,6 +164,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -184,7 +187,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index 6ba997e06eb1..7a9b57b3ddd0 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -117,15 +117,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -137,7 +132,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -155,15 +150,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -175,7 +168,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index d8d27e54ee34..b5acfb593af1 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -117,15 +117,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -137,7 +132,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -155,15 +150,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -175,7 +168,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs index 5a1f2a6e439e..b7de72535a4f 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -234,6 +234,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -254,7 +257,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs index 56b981a0e2ad..6b38ed275b24 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs @@ -294,9 +294,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs index 0c7dc7eab56f..6e6c85f5894b 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1839,20 +1839,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string? requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string? requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1885,20 +1881,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string? notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string? notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1916,20 +1908,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string? notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string? notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1950,23 +1938,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string? requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string? requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs index f1a80055f735..2946aae26354 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -217,9 +217,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs index e7829b5974ee..70ec0260df6a 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs @@ -164,9 +164,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string? codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs index f53e8d34214c..418868cd36f7 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -151,6 +151,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -171,7 +174,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs index 4ca12a36d096..49a49ba878b2 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs @@ -221,9 +221,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()!); break; case "type": - string? typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index 5434f2b84ea5..d6b37f71c918 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -150,6 +150,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -170,7 +173,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index dfb395124397..c3b6952eeab2 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -194,9 +194,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string? zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs index ff5df164f2c9..c267b1230a70 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs @@ -174,9 +174,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()); break; case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs index ad5599ac0126..7194bd67aa85 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -167,9 +167,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs index 78e8ee587c11..b757fed7f39b 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs index a9859338c4ba..c37c11e6cfb5 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs index 2a7d6a8a5f4d..bbb479c65fa3 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -278,9 +278,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs index b44f96171f59..d63c27034c6b 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs @@ -739,43 +739,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -864,15 +852,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Order.cs index 094096b6350d..8224cd7c6100 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Order.cs @@ -314,9 +314,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Pet.cs index 7e8a3d34957a..1f072c29e50c 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Pet.cs @@ -292,9 +292,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs index 6217ae6e6799..72395956a95c 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1837,20 +1837,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1883,20 +1879,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1914,20 +1906,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1948,23 +1936,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs index 36c7ef1ca217..7c3fafb897f7 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -215,9 +215,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs index 508d19f2807e..57a3be2b020e 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs index 0efe7f985a3a..31aa8b479e2d 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Zebra.cs @@ -219,9 +219,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 9722305fcb2a..ba3f4f4bdda3 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -192,9 +192,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs index 4131c59373af..8b6c27289051 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs @@ -177,9 +177,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()!); break; case "pet_type": - string? petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs index f7b7ff3f95b2..e8673a70e147 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -170,9 +170,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()!); break; case "$schema": - string? schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs index 9af51efffe3c..868219034112 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs @@ -115,9 +115,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs index 5e39d2322847..c5e7fa4b02d7 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs @@ -115,9 +115,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs index 5c9774abc417..c9263aad4870 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -281,9 +281,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); break; case "just_symbol": - string? justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs index 6192d15c9f5f..fee0d4a8f728 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs @@ -165,6 +165,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -185,7 +188,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs index 897a9bd24efe..a1691d89147a 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs @@ -742,43 +742,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string? enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string? enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string? outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string? outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string? outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string? outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -867,15 +855,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger!.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value!.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue!.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value!.Value)); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs index fff55dc03b4b..cf0f61f87264 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs @@ -317,9 +317,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs index c2b58fa0eba1..71f82a74a6fb 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -165,6 +165,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -185,7 +188,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index fa6acccc08e7..3afb38ee60c4 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -165,6 +165,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -185,7 +188,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index 362553f662a9..a442934bb5b8 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -118,15 +118,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -138,7 +133,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -156,15 +151,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -176,7 +169,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index fba1de8e6f39..a4c6123fc064 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -118,15 +118,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -138,7 +133,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -156,15 +151,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -176,7 +169,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b8716ad2b25f..a412be9cef62 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -235,6 +235,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -255,7 +258,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs index fc68eb27a177..f20ae86e37cd 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs @@ -295,9 +295,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs index 074d0e77ee37..ec4a5c4fb49d 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1840,20 +1840,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string? requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string? requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1886,20 +1882,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string? notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string? notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1917,20 +1909,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string? notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string? notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1951,23 +1939,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string? requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string? requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs index 538b8c90d98f..0c675082dd5c 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -218,9 +218,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs index df0deacac70e..f802f7fe13df 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs @@ -165,9 +165,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string? codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs index 029a66af5180..a18f3d7d0f72 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -152,6 +152,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -172,7 +175,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs index 0d0e7222c42b..dd924dac8f9f 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs @@ -222,9 +222,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()!); break; case "type": - string? typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index c553e7d9ef54..95c7d5fa7df6 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -151,6 +151,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -171,7 +174,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 74792442fd0e..02305a513d3d 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -195,9 +195,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string? zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs index 99c5b315aa00..5974f78f0d87 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCat.cs @@ -119,9 +119,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCatAllOfPetTypeValueConverter.FromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "name": name = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs index 252a51260bcf..1bed600a55f5 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ChildCatAllOfPetType.cs @@ -134,6 +134,9 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override ChildCatAllOfPetType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ChildCatAllOfPetType? result = rawValue == null @@ -154,7 +157,10 @@ public class ChildCatAllOfPetTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, ChildCatAllOfPetType? childCatAllOfPetType, JsonSerializerOptions options) { - writer.WriteStringValue(childCatAllOfPetType.HasValue ? ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString() : "null"); + if (childCatAllOfPetType.HasValue) + writer.WriteStringValue(ChildCatAllOfPetTypeValueConverter.ToJsonValue(childCatAllOfPetType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs index de8390a77eb4..bf6de7bba955 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -115,9 +115,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivityAllOfSchemaValueConverter.FromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs index 9760b9efadd6..dbb402dc4ac8 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/CopyActivityAllOfSchema.cs @@ -134,6 +134,9 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override CopyActivityAllOfSchema? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); CopyActivityAllOfSchema? result = rawValue == null @@ -154,7 +157,10 @@ public class CopyActivityAllOfSchemaNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, CopyActivityAllOfSchema? copyActivityAllOfSchema, JsonSerializerOptions options) { - writer.WriteStringValue(copyActivityAllOfSchema.HasValue ? CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString() : "null"); + if (copyActivityAllOfSchema.HasValue) + writer.WriteStringValue(CopyActivityAllOfSchemaValueConverter.ToJsonValue(copyActivityAllOfSchema.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs index 1ed4938d5fa7..47add6f4a8a2 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs index fd2ec581e4df..a710c8700ad6 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs index afdb3342ce23..2a70168f51b4 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -146,9 +146,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArraysJustSymbolValueConverter.FromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs index 2ceb96620d05..3d3db1add77a 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysArrayEnumInner.cs @@ -148,6 +148,9 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override EnumArraysArrayEnumInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysArrayEnumInner? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysArrayEnumInnerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysArrayEnumInner? enumArraysArrayEnumInner, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysArrayEnumInner.HasValue ? EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString() : "null"); + if (enumArraysArrayEnumInner.HasValue) + writer.WriteStringValue(EnumArraysArrayEnumInnerValueConverter.ToJsonValue(enumArraysArrayEnumInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs index 8400d5cd4273..67a8cfe66128 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumArraysJustSymbol.cs @@ -148,6 +148,9 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override EnumArraysJustSymbol? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumArraysJustSymbol? result = rawValue == null @@ -168,7 +171,10 @@ public class EnumArraysJustSymbolNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumArraysJustSymbol? enumArraysJustSymbol, JsonSerializerOptions options) { - writer.WriteStringValue(enumArraysJustSymbol.HasValue ? EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString() : "null"); + if (enumArraysJustSymbol.HasValue) + writer.WriteStringValue(EnumArraysJustSymbolValueConverter.ToJsonValue(enumArraysJustSymbol.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs index 49ce4b0a6d6e..1c2f4745b78b 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTest.cs @@ -255,49 +255,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - string enumIntegerRawValue = utf8JsonReader.GetString(); - if (enumIntegerRawValue != null) - enumInteger = new Option(EnumTestEnumIntegerValueConverter.FromStringOrDefault(enumIntegerRawValue)); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - string enumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (enumIntegerOnlyRawValue != null) - enumIntegerOnly = new Option(EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(enumIntegerOnlyRawValue)); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - string enumNumberRawValue = utf8JsonReader.GetString(); - if (enumNumberRawValue != null) - enumNumber = new Option(TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(enumNumberRawValue)); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTestEnumStringValueConverter.FromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -363,20 +345,14 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("enum_string_required", enumStringRequiredRawValue); if (enumTest.EnumIntegerOption.IsSet) - { - var enumIntegerRawValue = EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumInteger.Value); - writer.WriteNumber("enum_integer", enumIntegerRawValue); - } + writer.WriteNumber("enum_integer", EnumTestEnumIntegerValueConverter.ToJsonValue(enumTest.EnumIntegerOption.Value.Value)); + if (enumTest.EnumIntegerOnlyOption.IsSet) - { - var enumIntegerOnlyRawValue = EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnly.Value); - writer.WriteNumber("enum_integer_only", enumIntegerOnlyRawValue); - } + writer.WriteNumber("enum_integer_only", EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTest.EnumIntegerOnlyOption.Value.Value)); + if (enumTest.EnumNumberOption.IsSet) - { - var enumNumberRawValue = TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumber.Value); - writer.WriteNumber("enum_number", enumNumberRawValue); - } + writer.WriteNumber("enum_number", TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(enumTest.EnumNumberOption.Value.Value)); + if (enumTest.EnumStringOption.IsSet) { var enumStringRawValue = EnumTestEnumStringValueConverter.ToJsonValue(enumTest.EnumString.Value); @@ -396,15 +372,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs index 19178ecba280..5ea93c467d62 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumInteger.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerJsonConverter : JsonConverter public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumInteger Read(ref Utf8JsonReader reader, Type typeToC /// public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override EnumTestEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumInteger? result = rawValue == null - ? null - : EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumInteger? result = EnumTestEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumInteger? enumTestEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumInteger.HasValue ? EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value).ToString() : "null"); + if (enumTestEnumInteger.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerValueConverter.ToJsonValue(enumTestEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs index 6a999c69d575..dab24618fddd 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class EnumTestEnumIntegerOnlyJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override EnumTestEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typ /// public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly).ToString()); + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override EnumTestEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - EnumTestEnumIntegerOnly? result = rawValue == null - ? null - : EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + EnumTestEnumIntegerOnly? result = EnumTestEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class EnumTestEnumIntegerOnlyNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumIntegerOnly? enumTestEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumIntegerOnly.HasValue ? EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value).ToString() : "null"); + if (enumTestEnumIntegerOnly.HasValue) + writer.WriteNumberValue(EnumTestEnumIntegerOnlyValueConverter.ToJsonValue(enumTestEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs index 4d02eeaec018..6afc370e3ca5 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/EnumTestEnumString.cs @@ -232,6 +232,9 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override EnumTestEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumTestEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class EnumTestEnumStringNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, EnumTestEnumString? enumTestEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(enumTestEnumString.HasValue ? EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString() : "null"); + if (enumTestEnumString.HasValue) + writer.WriteStringValue(EnumTestEnumStringValueConverter.ToJsonValue(enumTestEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs index e7f98f931cc9..d1ac7f8dd36b 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FindPetsByStatusStatusParameterInner.cs @@ -162,6 +162,9 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override FindPetsByStatusStatusParameterInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); FindPetsByStatusStatusParameterInner? result = rawValue == null @@ -182,7 +185,10 @@ public class FindPetsByStatusStatusParameterInnerNullableJsonConverter : JsonCon /// public override void Write(Utf8JsonWriter writer, FindPetsByStatusStatusParameterInner? findPetsByStatusStatusParameterInner, JsonSerializerOptions options) { - writer.WriteStringValue(findPetsByStatusStatusParameterInner.HasValue ? FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString() : "null"); + if (findPetsByStatusStatusParameterInner.HasValue) + writer.WriteStringValue(FindPetsByStatusStatusParameterInnerValueConverter.ToJsonValue(findPetsByStatusStatusParameterInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs index 3c7331f80f28..0f34a3ceea08 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MapTestMapOfEnumStringValue.cs @@ -148,6 +148,9 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override MapTestMapOfEnumStringValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); MapTestMapOfEnumStringValue? result = rawValue == null @@ -168,7 +171,10 @@ public class MapTestMapOfEnumStringValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, MapTestMapOfEnumStringValue? mapTestMapOfEnumStringValue, JsonSerializerOptions options) { - writer.WriteStringValue(mapTestMapOfEnumStringValue.HasValue ? MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString() : "null"); + if (mapTestMapOfEnumStringValue.HasValue) + writer.WriteStringValue(MapTestMapOfEnumStringValueValueConverter.ToJsonValue(mapTestMapOfEnumStringValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Order.cs index 0f70b6ee763d..05e54c085f18 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Order.cs @@ -232,9 +232,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(OrderStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs index cd0ff06ce52e..e193de19a3ea 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OrderStatus.cs @@ -163,6 +163,9 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override OrderStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OrderStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class OrderStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OrderStatus? orderStatus, JsonSerializerOptions options) { - writer.WriteStringValue(orderStatus.HasValue ? OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString() : "null"); + if (orderStatus.HasValue) + writer.WriteStringValue(OrderStatusValueConverter.ToJsonValue(orderStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Pet.cs index 294770c56dfb..5b0634901da8 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Pet.cs @@ -210,9 +210,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(PetStatusValueConverter.FromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs index 52de1419c804..1a60f1c7856c 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PetStatus.cs @@ -163,6 +163,9 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override PetStatus? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); PetStatus? result = rawValue == null @@ -183,7 +186,10 @@ public class PetStatusNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, PetStatus? petStatus, JsonSerializerOptions options) { - writer.WriteStringValue(petStatus.HasValue ? PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString() : "null"); + if (petStatus.HasValue) + writer.WriteStringValue(PetStatusValueConverter.ToJsonValue(petStatus.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs index 8a2fc39d76bf..0f73d82a2086 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -759,24 +759,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - string requiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerRawValue != null) - requiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerRawValue)); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - string requiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumIntegerOnlyRawValue != null) - requiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNotnullableEnumIntegerOnlyRawValue)); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -809,24 +801,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - string notrequiredNotnullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerRawValue != null) - notrequiredNotnullableEnumInteger = new Option(RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerRawValue)); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - string notrequiredNotnullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumIntegerOnlyRawValue != null) - notrequiredNotnullableEnumIntegerOnly = new Option(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNotnullableEnumIntegerOnlyRawValue)); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClassRequiredNotnullableEnumStringValueConverter.FromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -844,24 +828,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - string notrequiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerRawValue != null) - notrequiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerRawValue)); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - string notrequiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumIntegerOnlyRawValue != null) - notrequiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(notrequiredNullableEnumIntegerOnlyRawValue)); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -882,27 +858,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - string requiredNullableEnumIntegerRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerRawValue != null) - requiredNullableEnumInteger = new Option(RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(requiredNullableEnumIntegerRawValue)); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - string requiredNullableEnumIntegerOnlyRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumIntegerOnlyRawValue != null) - requiredNullableEnumIntegerOnly = new Option(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(requiredNullableEnumIntegerOnlyRawValue)); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClassRequiredNullableEnumStringValueConverter.FromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1095,11 +1063,9 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("required_notnullable_datetime_prop", requiredClass.RequiredNotnullableDatetimeProp.ToString(RequiredNotnullableDatetimePropFormat)); - var requiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger); - writer.WriteNumber("required_notnullable_enum_integer", requiredNotnullableEnumIntegerRawValue); + writer.WriteNumber("required_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumInteger)); - var requiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly); - writer.WriteNumber("required_notnullable_enum_integer_only", requiredNotnullableEnumIntegerOnlyRawValue); + writer.WriteNumber("required_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumIntegerOnly)); var requiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.RequiredNotnullableEnumString); writer.WriteString("required_notnullable_enum_string", requiredNotnullableEnumStringRawValue); @@ -1143,15 +1109,11 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, writer.WriteString("notrequired_notnullable_datetime_prop", requiredClass.NotrequiredNotnullableDatetimePropOption.Value.Value.ToString(NotrequiredNotnullableDatetimePropFormat)); if (requiredClass.NotrequiredNotnullableEnumIntegerOption.IsSet) - { - var notrequiredNotnullableEnumIntegerRawValue = RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumInteger.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer", notrequiredNotnullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer", RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.IsSet) - { - var notrequiredNotnullableEnumIntegerOnlyRawValue = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnly.Value); - writer.WriteNumber("notrequired_notnullable_enum_integer_only", notrequiredNotnullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_notnullable_enum_integer_only", RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumIntegerOnlyOption.Value.Value)); + if (requiredClass.NotrequiredNotnullableEnumStringOption.IsSet) { var notrequiredNotnullableEnumStringRawValue = RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClass.NotrequiredNotnullableEnumString.Value); @@ -1190,20 +1152,16 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, if (requiredClass.NotrequiredNullableEnumIntegerOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOption.Value != null) - { - var notrequiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer", notrequiredNullableEnumIntegerRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer"); + if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.IsSet) if (requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value != null) - { - var notrequiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value); - writer.WriteNumber("notrequired_nullable_enum_integer_only", notrequiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNumber("notrequired_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.NotrequiredNullableEnumIntegerOnlyOption.Value.Value)); else writer.WriteNull("notrequired_nullable_enum_integer_only"); + if (requiredClass.NotrequiredNullableEnumStringOption.IsSet) if (requiredClass.NotrequiredNullableEnumStringOption.Value != null) { @@ -1254,21 +1212,15 @@ public void WriteProperties(Utf8JsonWriter writer, RequiredClass requiredClass, else writer.WriteNull("required_nullable_datetime_prop"); - if (requiredClass.RequiredNullableEnumInteger == null) - writer.WriteNull("required_nullable_enum_integer"); + if (requiredClass.RequiredNullableEnumInteger != null) + writer.WriteNumber("required_nullable_enum_integer", RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value)); else - { - var requiredNullableEnumIntegerRawValue = RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumInteger.Value); - writer.WriteNumber("required_nullable_enum_integer", requiredNullableEnumIntegerRawValue); - } + writer.WriteNull("required_nullable_enum_integer"); - if (requiredClass.RequiredNullableEnumIntegerOnly == null) - writer.WriteNull("required_nullable_enum_integer_only"); + if (requiredClass.RequiredNullableEnumIntegerOnly != null) + writer.WriteNumber("required_nullable_enum_integer_only", RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value)); else - { - var requiredNullableEnumIntegerOnlyRawValue = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClass.RequiredNullableEnumIntegerOnly.Value); - writer.WriteNumber("required_nullable_enum_integer_only", requiredNullableEnumIntegerOnlyRawValue); - } + writer.WriteNull("required_nullable_enum_integer_only"); if (requiredClass.RequiredNullableEnumString == null) writer.WriteNull("required_nullable_enum_string"); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs index fcdc55074811..28b19513d368 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerJsonConverter : JsonConv /// public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumInteger Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override RequiredClassRequiredNotnullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumInteger? result = RequiredClassRequiredNotnullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumInteger? requiredClassRequiredNotnullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumInteger.HasValue ? RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs index 1d33399c6331..7b5b97f0f8c6 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyJsonConverter : Json /// public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNotnullableEnumIntegerOnly Read(ref Utf8Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override RequiredClassRequiredNotnullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNotnullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNotnullableEnumIntegerOnly? result = RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNotnullableEnumIntegerOnlyNullableJsonConverte /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumIntegerOnly? requiredClassRequiredNotnullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNotnullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs index 1e251fee921b..7e1af535ae83 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNotnullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override RequiredClassRequiredNotnullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNotnullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNotnullableEnumStringNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNotnullableEnumString? requiredClassRequiredNotnullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNotnullableEnumString.HasValue ? RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNotnullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNotnullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNotnullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs index 97db2037f953..5ede755b11d4 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumInteger.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerJsonConverter : JsonConvert /// public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumInteger Read(ref Utf8JsonReader /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override RequiredClassRequiredNullableEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumInteger? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumInteger? result = RequiredClassRequiredNullableEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerNullableJsonConverter : Jso /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumInteger? requiredClassRequiredNullableEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumInteger.HasValue ? RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumInteger.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerValueConverter.ToJsonValue(requiredClassRequiredNullableEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs index 2f53261cd6ff..c59223bbfff6 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumIntegerOnly.cs @@ -104,15 +104,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyJsonConverter : JsonCon /// public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override RequiredClassRequiredNullableEnumIntegerOnly Read(ref Utf8JsonRe /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly).ToString()); + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly)); } } @@ -142,15 +137,13 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override RequiredClassRequiredNullableEnumIntegerOnly? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - RequiredClassRequiredNullableEnumIntegerOnly? result = rawValue == null - ? null - : RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + RequiredClassRequiredNullableEnumIntegerOnly? result = RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class RequiredClassRequiredNullableEnumIntegerOnlyNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumIntegerOnly? requiredClassRequiredNullableEnumIntegerOnly, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumIntegerOnly.HasValue ? RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumIntegerOnly.HasValue) + writer.WriteNumberValue(RequiredClassRequiredNullableEnumIntegerOnlyValueConverter.ToJsonValue(requiredClassRequiredNullableEnumIntegerOnly.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs index 7efe892e9246..bf6c28314256 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/RequiredClassRequiredNullableEnumString.cs @@ -232,6 +232,9 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override RequiredClassRequiredNullableEnumString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); RequiredClassRequiredNullableEnumString? result = rawValue == null @@ -252,7 +255,10 @@ public class RequiredClassRequiredNullableEnumStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, RequiredClassRequiredNullableEnumString? requiredClassRequiredNullableEnumString, JsonSerializerOptions options) { - writer.WriteStringValue(requiredClassRequiredNullableEnumString.HasValue ? RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString() : "null"); + if (requiredClassRequiredNullableEnumString.HasValue) + writer.WriteStringValue(RequiredClassRequiredNullableEnumStringValueConverter.ToJsonValue(requiredClassRequiredNullableEnumString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs index df5553038566..4a62f6ccf7e3 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -149,9 +149,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendantsObjectTypeValueConverter.FromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs index 0c0c757cc59b..fc932e79b93f 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestDescendantsObjectType.cs @@ -148,6 +148,9 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override TestDescendantsObjectType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestDescendantsObjectType? result = rawValue == null @@ -168,7 +171,10 @@ public class TestDescendantsObjectTypeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestDescendantsObjectType? testDescendantsObjectType, JsonSerializerOptions options) { - writer.WriteStringValue(testDescendantsObjectType.HasValue ? TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString() : "null"); + if (testDescendantsObjectType.HasValue) + writer.WriteStringValue(TestDescendantsObjectTypeValueConverter.ToJsonValue(testDescendantsObjectType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs index 4fe8d2deb709..6b34ecb05787 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumHeaderStringParameter.cs @@ -162,6 +162,9 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override TestEnumParametersEnumHeaderStringParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersEnumHeaderStringParameter? result = rawValue == null @@ -182,7 +185,10 @@ public class TestEnumParametersEnumHeaderStringParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumHeaderStringParameter? testEnumParametersEnumHeaderStringParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumHeaderStringParameter.HasValue ? TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString() : "null"); + if (testEnumParametersEnumHeaderStringParameter.HasValue) + writer.WriteStringValue(TestEnumParametersEnumHeaderStringParameterValueConverter.ToJsonValue(testEnumParametersEnumHeaderStringParameter.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs index d4d97e76043f..e76d34f002f6 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryDoubleParameter.cs @@ -85,7 +85,13 @@ public static TestEnumParametersEnumQueryDoubleParameter FromString(string value /// public static double ToJsonValue(TestEnumParametersEnumQueryDoubleParameter value) { - return (double) value; + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_1_DOT_1) + return 1.1d; + + if (value == TestEnumParametersEnumQueryDoubleParameter.NUMBER_MINUS_1_DOT_2) + return -1.2d; + + throw new NotImplementedException($"Value could not be handled: '{value}'"); } } @@ -104,15 +110,10 @@ public class TestEnumParametersEnumQueryDoubleParameterJsonConverter : JsonConve /// public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +125,7 @@ public override TestEnumParametersEnumQueryDoubleParameter Read(ref Utf8JsonRead /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter)); } } @@ -142,15 +143,13 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override TestEnumParametersEnumQueryDoubleParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryDoubleParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetDouble().ToString(); + TestEnumParametersEnumQueryDoubleParameter? result = TestEnumParametersEnumQueryDoubleParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +161,10 @@ public class TestEnumParametersEnumQueryDoubleParameterNullableJsonConverter : J /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryDoubleParameter? testEnumParametersEnumQueryDoubleParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryDoubleParameter.HasValue ? TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryDoubleParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryDoubleParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryDoubleParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs index 85149c3f5eb9..cf70b0624f9b 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersEnumQueryIntegerParameter.cs @@ -104,15 +104,10 @@ public class TestEnumParametersEnumQueryIntegerParameterJsonConverter : JsonConv /// public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -124,7 +119,7 @@ public override TestEnumParametersEnumQueryIntegerParameter Read(ref Utf8JsonRea /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter).ToString()); + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter)); } } @@ -142,15 +137,13 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override TestEnumParametersEnumQueryIntegerParameter? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - TestEnumParametersEnumQueryIntegerParameter? result = rawValue == null - ? null - : TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + TestEnumParametersEnumQueryIntegerParameter? result = TestEnumParametersEnumQueryIntegerParameterValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -162,7 +155,10 @@ public class TestEnumParametersEnumQueryIntegerParameterNullableJsonConverter : /// public override void Write(Utf8JsonWriter writer, TestEnumParametersEnumQueryIntegerParameter? testEnumParametersEnumQueryIntegerParameter, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersEnumQueryIntegerParameter.HasValue ? TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value).ToString() : "null"); + if (testEnumParametersEnumQueryIntegerParameter.HasValue) + writer.WriteNumberValue(TestEnumParametersEnumQueryIntegerParameterValueConverter.ToJsonValue(testEnumParametersEnumQueryIntegerParameter.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs index 2e81a11c33b2..564a3fc67e09 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormString.cs @@ -163,6 +163,9 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override TestEnumParametersRequestEnumFormString? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormString? result = rawValue == null @@ -183,7 +186,10 @@ public class TestEnumParametersRequestEnumFormStringNullableJsonConverter : Json /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormString? testEnumParametersRequestEnumFormString, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormString.HasValue ? TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormString.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringValueConverter.ToJsonValue(testEnumParametersRequestEnumFormString.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs index 5c00030c30a4..41a116adffd4 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestEnumParametersRequestEnumFormStringArrayInner.cs @@ -148,6 +148,9 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override TestEnumParametersRequestEnumFormStringArrayInner? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestEnumParametersRequestEnumFormStringArrayInner? result = rawValue == null @@ -168,7 +171,10 @@ public class TestEnumParametersRequestEnumFormStringArrayInnerNullableJsonConver /// public override void Write(Utf8JsonWriter writer, TestEnumParametersRequestEnumFormStringArrayInner? testEnumParametersRequestEnumFormStringArrayInner, JsonSerializerOptions options) { - writer.WriteStringValue(testEnumParametersRequestEnumFormStringArrayInner.HasValue ? TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString() : "null"); + if (testEnumParametersRequestEnumFormStringArrayInner.HasValue) + writer.WriteStringValue(TestEnumParametersRequestEnumFormStringArrayInnerValueConverter.ToJsonValue(testEnumParametersRequestEnumFormStringArrayInner.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResult.cs index 508d19f2807e..57a3be2b020e 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Zebra.cs index d3fbe37b12e5..4dccd19ea739 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Zebra.cs @@ -139,9 +139,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(ZebraTypeValueConverter.FromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs index 5eb8d6bac71e..f5ef7a380fe4 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZebraType.cs @@ -162,6 +162,9 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override ZebraType? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZebraType? result = rawValue == null @@ -182,7 +185,10 @@ public class ZebraTypeNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZebraType? zebraType, JsonSerializerOptions options) { - writer.WriteStringValue(zebraType.HasValue ? ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString() : "null"); + if (zebraType.HasValue) + writer.WriteStringValue(ZebraTypeValueConverter.ToJsonValue(zebraType.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 7373bc5873d5..9e26b250980d 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -126,9 +126,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClassZeroBasedEnumValueConverter.FromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs index cb6f10e40b3a..39709c18f566 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/ZeroBasedEnumClassZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override ZeroBasedEnumClassZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnumClassZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumClassZeroBasedEnumNullableJsonConverter : JsonConverte /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnumClassZeroBasedEnum? zeroBasedEnumClassZeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnumClassZeroBasedEnum.HasValue ? ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnumClassZeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumClassZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnumClassZeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs index c37ba2ec211e..399682496092 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ChildCat.cs @@ -176,9 +176,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()!); break; case "pet_type": - string? petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs index f1139898f661..62faa598e821 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -169,9 +169,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()!); break; case "$schema": - string? schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs index d86b93b3ff02..a3debe262507 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant1.cs @@ -114,9 +114,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs index 152103158d0a..fcd6c11bba94 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Descendant2.cs @@ -114,9 +114,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs index 9a6f097e92c2..07a1752fe7c5 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -280,9 +280,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); break; case "just_symbol": - string? justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs index 592f6a59c31a..daf0b57af01b 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumClass.cs @@ -164,6 +164,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -184,7 +187,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs index ea7a5bd26988..2cab1f474956 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/EnumTest.cs @@ -741,43 +741,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string? enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string? enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string? outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string? outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string? outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string? outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -866,15 +854,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger!.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value!.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue!.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value!.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs index c4c43309bec1..9fd06e63a8c0 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Order.cs @@ -316,9 +316,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs index 0476c873cd87..1497d9eca8cd 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -164,6 +164,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -184,7 +187,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index 68faa3cd5de2..7cdb4970271b 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -164,6 +164,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -184,7 +187,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index 6ba997e06eb1..7a9b57b3ddd0 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -117,15 +117,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -137,7 +132,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -155,15 +150,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -175,7 +168,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index d8d27e54ee34..b5acfb593af1 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -117,15 +117,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -137,7 +132,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -155,15 +150,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -175,7 +168,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs index 5a1f2a6e439e..b7de72535a4f 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -234,6 +234,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -254,7 +257,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs index 56b981a0e2ad..6b38ed275b24 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Pet.cs @@ -294,9 +294,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs index 0c7dc7eab56f..6e6c85f5894b 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1839,20 +1839,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string? requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string? requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1885,20 +1881,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string? notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string? notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1916,20 +1908,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string? notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string? notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1950,23 +1938,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string? requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string? requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs index f1a80055f735..2946aae26354 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -217,9 +217,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs index e7829b5974ee..70ec0260df6a 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResult.cs @@ -164,9 +164,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string? codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs index f53e8d34214c..418868cd36f7 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -151,6 +151,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -171,7 +174,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs index 4ca12a36d096..49a49ba878b2 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Zebra.cs @@ -221,9 +221,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()!); break; case "type": - string? typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index 5434f2b84ea5..d6b37f71c918 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -150,6 +150,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -170,7 +173,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index dfb395124397..c3b6952eeab2 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -194,9 +194,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string? zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs index ff5df164f2c9..c267b1230a70 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs @@ -174,9 +174,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()); break; case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs index ad5599ac0126..7194bd67aa85 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -167,9 +167,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs index 78e8ee587c11..b757fed7f39b 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs index a9859338c4ba..c37c11e6cfb5 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs index 2a7d6a8a5f4d..bbb479c65fa3 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -278,9 +278,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs index b44f96171f59..d63c27034c6b 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs @@ -739,43 +739,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -864,15 +852,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Order.cs index 094096b6350d..8224cd7c6100 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Order.cs @@ -314,9 +314,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Pet.cs index 7e8a3d34957a..1f072c29e50c 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Pet.cs @@ -292,9 +292,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs index 6217ae6e6799..72395956a95c 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1837,20 +1837,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1883,20 +1879,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1914,20 +1906,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1948,23 +1936,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs index 36c7ef1ca217..7c3fafb897f7 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -215,9 +215,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResult.cs index 508d19f2807e..57a3be2b020e 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Zebra.cs index 0efe7f985a3a..31aa8b479e2d 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Zebra.cs @@ -219,9 +219,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 9722305fcb2a..ba3f4f4bdda3 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -192,9 +192,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs index 4131c59373af..8b6c27289051 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ChildCat.cs @@ -177,9 +177,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()!); break; case "pet_type": - string? petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs index f7b7ff3f95b2..e8673a70e147 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -170,9 +170,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()!); break; case "$schema": - string? schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs index 9af51efffe3c..868219034112 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant1.cs @@ -115,9 +115,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs index 5e39d2322847..c5e7fa4b02d7 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Descendant2.cs @@ -115,9 +115,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs index 5c9774abc417..c9263aad4870 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -281,9 +281,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); break; case "just_symbol": - string? justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs index 6192d15c9f5f..fee0d4a8f728 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumClass.cs @@ -165,6 +165,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -185,7 +188,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs index 897a9bd24efe..a1691d89147a 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/EnumTest.cs @@ -742,43 +742,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string? enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string? enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string? outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string? outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string? outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string? outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -867,15 +855,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger!.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value!.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue!.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value!.Value)); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs index fff55dc03b4b..cf0f61f87264 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Order.cs @@ -317,9 +317,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs index c2b58fa0eba1..71f82a74a6fb 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -165,6 +165,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -185,7 +188,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index fa6acccc08e7..3afb38ee60c4 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -165,6 +165,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -185,7 +188,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index 362553f662a9..a442934bb5b8 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -118,15 +118,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -138,7 +133,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -156,15 +151,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -176,7 +169,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index fba1de8e6f39..a4c6123fc064 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -118,15 +118,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -138,7 +133,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -156,15 +151,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string? rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -176,7 +169,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b8716ad2b25f..a412be9cef62 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -235,6 +235,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -255,7 +258,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs index fc68eb27a177..f20ae86e37cd 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Pet.cs @@ -295,9 +295,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string? statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs index 074d0e77ee37..ec4a5c4fb49d 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1840,20 +1840,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string? requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string? requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1886,20 +1882,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string? notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string? notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()!); @@ -1917,20 +1909,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string? notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string? notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1951,23 +1939,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string? requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string? requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs index 538b8c90d98f..0c675082dd5c 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -218,9 +218,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()!); break; case "objectType": - string? objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs index df0deacac70e..f802f7fe13df 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResult.cs @@ -165,9 +165,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string? codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option?>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)!); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs index 029a66af5180..a18f3d7d0f72 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -152,6 +152,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -172,7 +175,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs index 0d0e7222c42b..dd924dac8f9f 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Zebra.cs @@ -222,9 +222,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()!); break; case "type": - string? typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index c553e7d9ef54..95c7d5fa7df6 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -151,6 +151,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string? rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -171,7 +174,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index 74792442fd0e..02305a513d3d 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -195,9 +195,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string? zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs index cce039237aea..ae60cab2cd68 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ChildCat.cs @@ -174,9 +174,7 @@ public override ChildCat Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv name = new Option(utf8JsonReader.GetString()); break; case "pet_type": - string petTypeRawValue = utf8JsonReader.GetString(); - if (petTypeRawValue != null) - petType = new Option(ChildCat.PetTypeEnumFromStringOrDefault(petTypeRawValue)); + petType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs index ad5599ac0126..7194bd67aa85 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/CopyActivity.cs @@ -167,9 +167,7 @@ public override CopyActivity Read(ref Utf8JsonReader utf8JsonReader, Type typeTo copyActivitytt = new Option(utf8JsonReader.GetString()); break; case "$schema": - string schemaRawValue = utf8JsonReader.GetString(); - if (schemaRawValue != null) - schema = new Option(CopyActivity.SchemaEnumFromStringOrDefault(schemaRawValue)); + schema = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs index 78e8ee587c11..b757fed7f39b 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant1.cs @@ -112,9 +112,7 @@ public override Descendant1 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC descendantName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant1.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs index a9859338c4ba..c37c11e6cfb5 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Descendant2.cs @@ -112,9 +112,7 @@ public override Descendant2 Read(ref Utf8JsonReader utf8JsonReader, Type typeToC confidentiality = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(Descendant2.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs index c107741e961d..1f27d9414fd0 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumArrays.cs @@ -278,9 +278,7 @@ public override EnumArrays Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo arrayEnum = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); break; case "just_symbol": - string justSymbolRawValue = utf8JsonReader.GetString(); - if (justSymbolRawValue != null) - justSymbol = new Option(EnumArrays.JustSymbolEnumFromStringOrDefault(justSymbolRawValue)); + justSymbol = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs index cefbf28588fb..b6fbaaf487cf 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumClass.cs @@ -162,6 +162,9 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override EnumClass? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); EnumClass? result = rawValue == null @@ -182,7 +185,10 @@ public class EnumClassNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, EnumClass? enumClass, JsonSerializerOptions options) { - writer.WriteStringValue(enumClass.HasValue ? EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString() : "null"); + if (enumClass.HasValue) + writer.WriteStringValue(EnumClassValueConverter.ToJsonValue(enumClass.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs index 40d5e2753631..8e301bf5149b 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/EnumTest.cs @@ -739,43 +739,31 @@ public override EnumTest Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv switch (localVarJsonPropertyName) { case "enum_string_required": - string enumStringRequiredRawValue = utf8JsonReader.GetString(); - if (enumStringRequiredRawValue != null) - enumStringRequired = new Option(EnumTest.EnumStringRequiredEnumFromStringOrDefault(enumStringRequiredRawValue)); + enumStringRequired = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer": - enumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerEnum?)null : (EnumTest.EnumIntegerEnum)utf8JsonReader.GetInt32()); + enumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_integer_only": - enumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumIntegerOnlyEnum?)null : (EnumTest.EnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + enumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_number": - enumNumber = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (EnumTest.EnumNumberEnum?)null : (EnumTest.EnumNumberEnum)utf8JsonReader.GetInt32()); + enumNumber = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "enum_string": - string enumStringRawValue = utf8JsonReader.GetString(); - if (enumStringRawValue != null) - enumString = new Option(EnumTest.EnumStringEnumFromStringOrDefault(enumStringRawValue)); + enumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnum": - string outerEnumRawValue = utf8JsonReader.GetString(); - if (outerEnumRawValue != null) - outerEnum = new Option(OuterEnumValueConverter.FromStringOrDefault(outerEnumRawValue)); + outerEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumDefaultValue": - string outerEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumDefaultValueRawValue != null) - outerEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(outerEnumDefaultValueRawValue)); + outerEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumInteger": - string outerEnumIntegerRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerRawValue != null) - outerEnumInteger = new Option(OuterEnumIntegerValueConverter.FromStringOrDefault(outerEnumIntegerRawValue)); + outerEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "outerEnumIntegerDefaultValue": - string outerEnumIntegerDefaultValueRawValue = utf8JsonReader.GetString(); - if (outerEnumIntegerDefaultValueRawValue != null) - outerEnumIntegerDefaultValue = new Option(OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(outerEnumIntegerDefaultValueRawValue)); + outerEnumIntegerDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; @@ -864,15 +852,10 @@ public void WriteProperties(Utf8JsonWriter writer, EnumTest enumTest, JsonSerial writer.WriteString("outerEnumDefaultValue", outerEnumDefaultValueRawValue); } if (enumTest.OuterEnumIntegerOption.IsSet) - { - var outerEnumIntegerRawValue = OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumInteger.Value); - writer.WriteNumber("outerEnumInteger", outerEnumIntegerRawValue); - } + writer.WriteNumber("outerEnumInteger", OuterEnumIntegerValueConverter.ToJsonValue(enumTest.OuterEnumIntegerOption.Value.Value)); + if (enumTest.OuterEnumIntegerDefaultValueOption.IsSet) - { - var outerEnumIntegerDefaultValueRawValue = OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValue.Value); - writer.WriteNumber("outerEnumIntegerDefaultValue", outerEnumIntegerDefaultValueRawValue); - } + writer.WriteNumber("outerEnumIntegerDefaultValue", OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(enumTest.OuterEnumIntegerDefaultValueOption.Value.Value)); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Order.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Order.cs index ad31eb6ad143..6194d3110f57 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Order.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Order.cs @@ -314,9 +314,7 @@ public override Order Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert shipDate = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Order.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs index e72ea52b0876..8b433c5033b8 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnum.cs @@ -162,6 +162,9 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override OuterEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnum? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnum? outerEnum, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnum.HasValue ? OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString() : "null"); + if (outerEnum.HasValue) + writer.WriteStringValue(OuterEnumValueConverter.ToJsonValue(outerEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs index e2c52f962f32..2d1b5d668e16 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumDefaultValue.cs @@ -162,6 +162,9 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumDefaultValue? result = rawValue == null @@ -182,7 +185,10 @@ public class OuterEnumDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumDefaultValue? outerEnumDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumDefaultValue.HasValue ? OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString() : "null"); + if (outerEnumDefaultValue.HasValue) + writer.WriteStringValue(OuterEnumDefaultValueValueConverter.ToJsonValue(outerEnumDefaultValue.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs index e3812cb31983..180eef18894e 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumInteger.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerJsonConverter : JsonConverter /// public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumInteger Read(ref Utf8JsonReader reader, Type typeToConv /// public override void Write(Utf8JsonWriter writer, OuterEnumInteger outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger).ToString()); + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override OuterEnumInteger? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumInteger? result = rawValue == null - ? null - : OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumInteger? result = OuterEnumIntegerValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumInteger? outerEnumInteger, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumInteger.HasValue ? OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value).ToString() : "null"); + if (outerEnumInteger.HasValue) + writer.WriteNumberValue(OuterEnumIntegerValueConverter.ToJsonValue(outerEnumInteger.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs index 296151997b01..ad1af6012860 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumIntegerDefaultValue.cs @@ -115,15 +115,10 @@ public class OuterEnumIntegerDefaultValueJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); - + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -135,7 +130,7 @@ public override OuterEnumIntegerDefaultValue Read(ref Utf8JsonReader reader, Typ /// public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue).ToString()); + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue)); } } @@ -153,15 +148,13 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override OuterEnumIntegerDefaultValue? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { - string rawValue = reader.GetString(); - - OuterEnumIntegerDefaultValue? result = rawValue == null - ? null - : OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetInt32().ToString(); + OuterEnumIntegerDefaultValue? result = OuterEnumIntegerDefaultValueValueConverter.FromStringOrDefault(rawValue); if (result != null) return result.Value; - throw new JsonException(); } @@ -173,7 +166,10 @@ public class OuterEnumIntegerDefaultValueNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, OuterEnumIntegerDefaultValue? outerEnumIntegerDefaultValue, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumIntegerDefaultValue.HasValue ? OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value).ToString() : "null"); + if (outerEnumIntegerDefaultValue.HasValue) + writer.WriteNumberValue(OuterEnumIntegerDefaultValueValueConverter.ToJsonValue(outerEnumIntegerDefaultValue.Value)); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs index b4c4e25a9bb2..b4a71547cc1e 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OuterEnumTest.cs @@ -232,6 +232,9 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override OuterEnumTest? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); OuterEnumTest? result = rawValue == null @@ -252,7 +255,10 @@ public class OuterEnumTestNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, OuterEnumTest? outerEnumTest, JsonSerializerOptions options) { - writer.WriteStringValue(outerEnumTest.HasValue ? OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString() : "null"); + if (outerEnumTest.HasValue) + writer.WriteStringValue(OuterEnumTestValueConverter.ToJsonValue(outerEnumTest.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Pet.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Pet.cs index e8e661445a1c..972b5e234038 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Pet.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Pet.cs @@ -292,9 +292,7 @@ public override Pet Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, id = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (long?)null : utf8JsonReader.GetInt64()); break; case "status": - string statusRawValue = utf8JsonReader.GetString(); - if (statusRawValue != null) - status = new Option(Pet.StatusEnumFromStringOrDefault(statusRawValue)); + status = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "tags": tags = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs index fee9ba7f2965..90412ad4626a 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/RequiredClass.cs @@ -1837,20 +1837,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer": - requiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_integer_only": - requiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_enum_string": - string requiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableEnumStringRawValue != null) - requiredNotnullableEnumString = new Option(RequiredClass.RequiredNotnullableEnumStringEnumFromStringOrDefault(requiredNotnullableEnumStringRawValue)); + requiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_outerEnumDefaultValue": - string requiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNotnullableOuterEnumDefaultValueRawValue != null) - requiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNotnullableOuterEnumDefaultValueRawValue)); + requiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_notnullable_string_prop": requiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1883,20 +1879,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNotnullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer": - notrequiredNotnullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_integer_only": - notrequiredNotnullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNotnullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNotnullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_enum_string": - string notrequiredNotnullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableEnumStringRawValue != null) - notrequiredNotnullableEnumString = new Option(RequiredClass.NotrequiredNotnullableEnumStringEnumFromStringOrDefault(notrequiredNotnullableEnumStringRawValue)); + notrequiredNotnullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_outerEnumDefaultValue": - string notrequiredNotnullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNotnullableOuterEnumDefaultValueRawValue != null) - notrequiredNotnullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNotnullableOuterEnumDefaultValueRawValue)); + notrequiredNotnullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_notnullable_string_prop": notrequiredNotnullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1914,20 +1906,16 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT notrequiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer": - notrequiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_integer_only": - notrequiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.NotrequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + notrequiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_enum_string": - string notrequiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableEnumStringRawValue != null) - notrequiredNullableEnumString = new Option(RequiredClass.NotrequiredNullableEnumStringEnumFromStringOrDefault(notrequiredNullableEnumStringRawValue)); + notrequiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_outerEnumDefaultValue": - string notrequiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (notrequiredNullableOuterEnumDefaultValueRawValue != null) - notrequiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(notrequiredNullableOuterEnumDefaultValueRawValue)); + notrequiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "notrequired_nullable_string_prop": notrequiredNullableStringProp = new Option(utf8JsonReader.GetString()); @@ -1948,23 +1936,19 @@ public override RequiredClass Read(ref Utf8JsonReader utf8JsonReader, Type typeT requiredNullableDatetimeProp = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer": - requiredNullableEnumInteger = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerEnum?)null : (RequiredClass.RequiredNullableEnumIntegerEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumInteger = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_integer_only": - requiredNullableEnumIntegerOnly = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (RequiredClass.RequiredNullableEnumIntegerOnlyEnum?)null : (RequiredClass.RequiredNullableEnumIntegerOnlyEnum)utf8JsonReader.GetInt32()); + requiredNullableEnumIntegerOnly = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_enum_string": - string requiredNullableEnumStringRawValue = utf8JsonReader.GetString(); - if (requiredNullableEnumStringRawValue != null) - requiredNullableEnumString = new Option(RequiredClass.RequiredNullableEnumStringEnumFromStringOrDefault(requiredNullableEnumStringRawValue)); + requiredNullableEnumString = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_integer_prop": requiredNullableIntegerProp = new Option(utf8JsonReader.TokenType == JsonTokenType.Null ? (int?)null : utf8JsonReader.GetInt32()); break; case "required_nullable_outerEnumDefaultValue": - string requiredNullableOuterEnumDefaultValueRawValue = utf8JsonReader.GetString(); - if (requiredNullableOuterEnumDefaultValueRawValue != null) - requiredNullableOuterEnumDefaultValue = new Option(OuterEnumDefaultValueValueConverter.FromStringOrDefault(requiredNullableOuterEnumDefaultValueRawValue)); + requiredNullableOuterEnumDefaultValue = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "required_nullable_string_prop": requiredNullableStringProp = new Option(utf8JsonReader.GetString()); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs index 36c7ef1ca217..7c3fafb897f7 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestDescendants.cs @@ -215,9 +215,7 @@ public override TestDescendants Read(ref Utf8JsonReader utf8JsonReader, Type typ alternativeName = new Option(utf8JsonReader.GetString()); break; case "objectType": - string objectTypeRawValue = utf8JsonReader.GetString(); - if (objectTypeRawValue != null) - objectType = new Option(TestDescendants.ObjectTypeEnumFromStringOrDefault(objectTypeRawValue)); + objectType = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResult.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResult.cs index cfa1aee10f8d..d6a420106524 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResult.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResult.cs @@ -162,9 +162,7 @@ public override TestResult Read(ref Utf8JsonReader utf8JsonReader, Type typeToCo switch (localVarJsonPropertyName) { case "code": - string codeRawValue = utf8JsonReader.GetString(); - if (codeRawValue != null) - code = new Option(TestResultCodeValueConverter.FromStringOrDefault(codeRawValue)); + code = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; case "data": data = new Option>(JsonSerializer.Deserialize>(ref utf8JsonReader, jsonSerializerOptions)); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs index 280c9b82cfab..0c6a6e1fb987 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/TestResultCode.cs @@ -149,6 +149,9 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override TestResultCode? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); TestResultCode? result = rawValue == null @@ -169,7 +172,10 @@ public class TestResultCodeNullableJsonConverter : JsonConverter public override void Write(Utf8JsonWriter writer, TestResultCode? testResultCode, JsonSerializerOptions options) { - writer.WriteStringValue(testResultCode.HasValue ? TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString() : "null"); + if (testResultCode.HasValue) + writer.WriteStringValue(TestResultCodeValueConverter.ToJsonValue(testResultCode.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Zebra.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Zebra.cs index bdf489815279..866a78fc9eca 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Zebra.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Zebra.cs @@ -219,9 +219,7 @@ public override Zebra Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert className = new Option(utf8JsonReader.GetString()); break; case "type": - string typeRawValue = utf8JsonReader.GetString(); - if (typeRawValue != null) - type = new Option(Zebra.TypeEnumFromStringOrDefault(typeRawValue)); + type = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break; diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs index b82155f7800c..8e6cdad42d28 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnum.cs @@ -148,6 +148,9 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override ZeroBasedEnum? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { + if (reader.TokenType == JsonTokenType.Null) + return null; + string rawValue = reader.GetString(); ZeroBasedEnum? result = rawValue == null @@ -168,7 +171,10 @@ public class ZeroBasedEnumNullableJsonConverter : JsonConverter /// public override void Write(Utf8JsonWriter writer, ZeroBasedEnum? zeroBasedEnum, JsonSerializerOptions options) { - writer.WriteStringValue(zeroBasedEnum.HasValue ? ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString() : "null"); + if (zeroBasedEnum.HasValue) + writer.WriteStringValue(ZeroBasedEnumValueConverter.ToJsonValue(zeroBasedEnum.Value).ToString()); + else + writer.WriteNullValue(); } } } diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs index a6d408aeecc1..8f5f380794a7 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/ZeroBasedEnumClass.cs @@ -192,9 +192,7 @@ public override ZeroBasedEnumClass Read(ref Utf8JsonReader utf8JsonReader, Type switch (localVarJsonPropertyName) { case "ZeroBasedEnum": - string zeroBasedEnumRawValue = utf8JsonReader.GetString(); - if (zeroBasedEnumRawValue != null) - zeroBasedEnum = new Option(ZeroBasedEnumClass.ZeroBasedEnumEnumFromStringOrDefault(zeroBasedEnumRawValue)); + zeroBasedEnum = new Option(JsonSerializer.Deserialize(ref utf8JsonReader, jsonSerializerOptions)); break; default: break;