From f6aa83f0d96657d7cf2323c44765bbf2b42d3804 Mon Sep 17 00:00:00 2001 From: madhu <134006164+madhu1218@users.noreply.github.com> Date: Mon, 10 Aug 2026 21:15:46 -0400 Subject: [PATCH 1/5] fix(csharp): serialize oneOf referenced models in generichost --- .../generichost/JsonConverter.mustache | 32 +++++++++++++++++ .../Org.OpenAPITools.Test/Model/FruitTests.cs | 36 +++++++++++++++++++ .../OneOf/src/Org.OpenAPITools/Model/Fruit.cs | 17 +++++++++ 3 files changed, 85 insertions(+) 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 7948f79dbf7c..120f4dc0acd2 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 @@ -376,7 +376,39 @@ {{/children}} {{/discriminator}} + {{^model.discriminator}} + {{#composedSchemas}} + {{#oneOf}} + {{^vendorExtensions.x-duplicated-data-type}} + {{#isPrimitiveType}} + if ({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}} != null) + { + JsonSerializer.Serialize(writer, {{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}, jsonSerializerOptions); + return; + } + + {{/isPrimitiveType}} + {{/vendorExtensions.x-duplicated-data-type}} + {{/oneOf}} + {{/composedSchemas}} + {{/model.discriminator}} writer.WriteStartObject(); + {{^model.discriminator}} + {{#composedSchemas}} + {{#oneOf}} + {{^vendorExtensions.x-duplicated-data-type}} + {{^isPrimitiveType}} + if ({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}} != null) + { + {{baseType}}JsonConverter {{#lambda.camelcase_sanitize_param}}{{baseType}}JsonConverter{{/lambda.camelcase_sanitize_param}} = ({{baseType}}JsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}.GetType())); + {{#lambda.camelcase_sanitize_param}}{{baseType}}JsonConverter{{/lambda.camelcase_sanitize_param}}.WriteProperties(writer, {{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}, jsonSerializerOptions); + } + + {{/isPrimitiveType}} + {{/vendorExtensions.x-duplicated-data-type}} + {{/oneOf}} + {{/composedSchemas}} + {{/model.discriminator}} {{#model.discriminator}} {{#model.hasDiscriminatorWithNonEmptyMapping}} diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs index a6607ae5d56d..8eb2a2d59126 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs @@ -17,6 +17,7 @@ using Org.OpenAPITools.Model; using Org.OpenAPITools.Client; using System.Reflection; +using System.Text.Json; namespace Org.OpenAPITools.Test.Model { @@ -61,5 +62,40 @@ public void ColorTest() { // TODO unit test for the property 'Color' } + + [Fact] + public void SerializeOneOfReferencedObject() + { + var options = new JsonSerializerOptions(); + options.Converters.Add(new AppleJsonConverter()); + options.Converters.Add(new BananaJsonConverter()); + options.Converters.Add(new FruitJsonConverter()); + options.Converters.Add(new OrangeJsonConverter()); + + Fruit fruit = new Fruit(new Apple("red")); + + string json = JsonSerializer.Serialize(fruit, options); + + Assert.Equal("{\"kind\":\"red\"}", json); + } + + [Fact] + public void SerializeOneOfReferencedObjectWithSiblingProperty() + { + var options = new JsonSerializerOptions(); + options.Converters.Add(new AppleJsonConverter()); + options.Converters.Add(new BananaJsonConverter()); + options.Converters.Add(new FruitJsonConverter()); + options.Converters.Add(new OrangeJsonConverter()); + + Fruit fruit = new Fruit( + new Apple("red"), + new Option("green") + ); + + string json = JsonSerializer.Serialize(fruit, options); + + Assert.Equal("{\"kind\":\"red\",\"color\":\"green\"}", json); + } } } diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs index b122efb51e3d..c0510540b7ff 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs @@ -237,6 +237,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType())); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType())); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter orangeJsonConverter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Orange.GetType())); + orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); From e55db642dddd92f80f755fafc92fb972c198b85c Mon Sep 17 00:00:00 2001 From: madhu <134006164+madhu1218@users.noreply.github.com> Date: Mon, 10 Aug 2026 23:48:51 -0400 Subject: [PATCH 2/5] fix(csharp): handle generichost oneOf converter edge cases --- .../csharp/libraries/generichost/JsonConverter.mustache | 8 +++++--- .../net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) 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 120f4dc0acd2..cff653bf3c39 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 @@ -397,14 +397,16 @@ {{#composedSchemas}} {{#oneOf}} {{^vendorExtensions.x-duplicated-data-type}} - {{^isPrimitiveType}} + {{#isModel}} + {{^isContainer}} if ({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}} != null) { - {{baseType}}JsonConverter {{#lambda.camelcase_sanitize_param}}{{baseType}}JsonConverter{{/lambda.camelcase_sanitize_param}} = ({{baseType}}JsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert({{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}.GetType())); + {{baseType}}JsonConverter {{#lambda.camelcase_sanitize_param}}{{baseType}}JsonConverter{{/lambda.camelcase_sanitize_param}} = new {{baseType}}JsonConverter(); {{#lambda.camelcase_sanitize_param}}{{baseType}}JsonConverter{{/lambda.camelcase_sanitize_param}}.WriteProperties(writer, {{#lambda.camelcase_sanitize_param}}{{classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}, jsonSerializerOptions); } - {{/isPrimitiveType}} + {{/isContainer}} + {{/isModel}} {{/vendorExtensions.x-duplicated-data-type}} {{/oneOf}} {{/composedSchemas}} diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs index c0510540b7ff..61cd204f6dba 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs @@ -239,19 +239,19 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt writer.WriteStartObject(); if (fruit.Apple != null) { - AppleJsonConverter appleJsonConverter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Apple.GetType())); + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); } if (fruit.Banana != null) { - BananaJsonConverter bananaJsonConverter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Banana.GetType())); + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); } if (fruit.Orange != null) { - OrangeJsonConverter orangeJsonConverter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(fruit.Orange.GetType())); + OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter(); orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions); } From 1b3eaca06f240b1bd30de0a43cb739af579d8d13 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 19 Aug 2026 18:30:15 +0800 Subject: [PATCH 3/5] update samples --- .../Model/OneOfNullableTest.cs | 12 ++++++++ .../ParentWithPluralOneOfPropertyNumber.cs | 12 ++++++++ .../Model/OneOfArrayRequest.cs | 6 ++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../OneOf/src/Org.OpenAPITools/Model/Fruit.cs | 17 +++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../OneOf/src/Org.OpenAPITools/Model/Fruit.cs | 17 +++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../OneOf/src/Org.OpenAPITools/Model/Fruit.cs | 17 +++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../OneOf/src/Org.OpenAPITools/Model/Fruit.cs | 17 +++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ .../src/Org.OpenAPITools/Model/Fruit.cs | 11 +++++++ .../src/Org.OpenAPITools/Model/FruitReq.cs | 11 +++++++ .../Model/MixedOneOfContent.cs | 29 +++++++++++++++++++ .../src/Org.OpenAPITools/Model/OneOfString.cs | 6 ++++ .../Model/PolymorphicProperty.cs | 24 +++++++++++++++ 97 files changed, 1556 insertions(+) diff --git a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs index 2d632afcb947..3910768cfdfe 100644 --- a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs +++ b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/OneOfNullableTest.cs @@ -179,6 +179,18 @@ public override OneOfNullableTest Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, OneOfNullableTest oneOfNullableTest, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfNullableTest.Int != null) + { + JsonSerializer.Serialize(writer, oneOfNullableTest.Int, jsonSerializerOptions); + return; + } + + if (oneOfNullableTest.String != null) + { + JsonSerializer.Serialize(writer, oneOfNullableTest.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfNullableTest, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs index 42eb5c9cd94d..c582bc79731b 100644 --- a/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs +++ b/samples/client/petstore/csharp/generichost/latest/AnnotatedEnum/src/Org.OpenAPITools/Model/ParentWithPluralOneOfPropertyNumber.cs @@ -178,6 +178,18 @@ public override ParentWithPluralOneOfPropertyNumber Read(ref Utf8JsonReader utf8 /// public override void Write(Utf8JsonWriter writer, ParentWithPluralOneOfPropertyNumber parentWithPluralOneOfPropertyNumber, JsonSerializerOptions jsonSerializerOptions) { + if (parentWithPluralOneOfPropertyNumber.Number != null) + { + JsonSerializer.Serialize(writer, parentWithPluralOneOfPropertyNumber.Number, jsonSerializerOptions); + return; + } + + if (parentWithPluralOneOfPropertyNumber.Number2 != null) + { + JsonSerializer.Serialize(writer, parentWithPluralOneOfPropertyNumber.Number2, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, parentWithPluralOneOfPropertyNumber, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs index 8ce7469d7bca..4d2030ce0067 100644 --- a/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs +++ b/samples/client/petstore/csharp/generichost/latest/OneOfList/src/Org.OpenAPITools/Model/OneOfArrayRequest.cs @@ -178,6 +178,12 @@ public override OneOfArrayRequest Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, OneOfArrayRequest oneOfArrayRequest, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfArrayRequest.List != null) + { + JsonSerializer.Serialize(writer, oneOfArrayRequest.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfArrayRequest, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs index f6b30057b6ca..6476f8794a2e 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/Fruit.cs @@ -205,6 +205,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs index 1b20a9969162..2d02ad81c8ce 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/FruitReq.cs @@ -179,6 +179,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 2712457d30f9..c95ebebd7433 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -244,7 +244,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs index f18374410642..d4887828f80f 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/OneOfString.cs @@ -140,6 +140,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index 9f2518b49d53..4e838c262f80 100644 --- a/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/latest/UseDateTimeOffset/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -222,6 +222,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index ca703d27f96c..9b43300d7cca 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs index ec0062ba20d3..ba772455def9 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs @@ -206,6 +206,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs index af1802aab1a9..c2a5225419ac 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs @@ -180,6 +180,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index bac36e3cbe70..a796fe7b94fd 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -252,7 +252,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs index e03117058c32..50b6a7869b9f 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs @@ -148,6 +148,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index d33ed7654562..6aeb2e63b84d 100644 --- a/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -230,6 +230,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs index 1a4743015087..976e6e8a01cb 100644 --- a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools/Model/Fruit.cs @@ -237,6 +237,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter(); + orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs index ca703d27f96c..9b43300d7cca 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net10/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs index 9bad6c70417c..c05675c78ab3 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs @@ -207,6 +207,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs index ed5e1e35c028..0421f1ac82da 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs @@ -181,6 +181,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index ca6ca27187dd..904686e89fec 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -253,7 +253,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs index 4a46f52ead3a..df1341c55fed 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs @@ -149,6 +149,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index d3e959b95a67..114391721fd3 100644 --- a/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -231,6 +231,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index ba5d85932b34..8df4f460677c 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs index e2e2f33c524d..133cf0b7230a 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/OneOf/src/Org.OpenAPITools/Model/Fruit.cs @@ -235,6 +235,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter(); + orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs index ba5d85932b34..8df4f460677c 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net4.7/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index ba5d85932b34..8df4f460677c 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs index e2e2f33c524d..133cf0b7230a 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/OneOf/src/Org.OpenAPITools/Model/Fruit.cs @@ -235,6 +235,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter(); + orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs index ba5d85932b34..8df4f460677c 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net4.8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index ca703d27f96c..9b43300d7cca 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs index ec0062ba20d3..ba772455def9 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs @@ -206,6 +206,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs index af1802aab1a9..c2a5225419ac 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs @@ -180,6 +180,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index bac36e3cbe70..a796fe7b94fd 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -252,7 +252,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs index e03117058c32..50b6a7869b9f 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs @@ -148,6 +148,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index d33ed7654562..6aeb2e63b84d 100644 --- a/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -230,6 +230,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs index ca703d27f96c..9b43300d7cca 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net8/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs index 9bad6c70417c..c05675c78ab3 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs @@ -207,6 +207,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs index ed5e1e35c028..0421f1ac82da 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs @@ -181,6 +181,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index ca6ca27187dd..904686e89fec 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -253,7 +253,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs index 4a46f52ead3a..df1341c55fed 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs @@ -149,6 +149,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index d3e959b95a67..114391721fd3 100644 --- a/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -231,6 +231,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index ca703d27f96c..9b43300d7cca 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs index ec0062ba20d3..ba772455def9 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs @@ -206,6 +206,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs index af1802aab1a9..c2a5225419ac 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/FruitReq.cs @@ -180,6 +180,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index bac36e3cbe70..a796fe7b94fd 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -252,7 +252,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs index e03117058c32..50b6a7869b9f 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/OneOfString.cs @@ -148,6 +148,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index d33ed7654562..6aeb2e63b84d 100644 --- a/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -230,6 +230,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Model/Fruit.cs index 1a4743015087..976e6e8a01cb 100644 --- a/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net9/OneOf/src/Org.OpenAPITools/Model/Fruit.cs @@ -237,6 +237,23 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter orangeJsonConverter = new OrangeJsonConverter(); + orangeJsonConverter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Fruit.cs index ca703d27f96c..9b43300d7cca 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net9/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs index 9bad6c70417c..c05675c78ab3 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs @@ -207,6 +207,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs index ed5e1e35c028..0421f1ac82da 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/FruitReq.cs @@ -181,6 +181,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index ca6ca27187dd..904686e89fec 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -253,7 +253,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs index 4a46f52ead3a..df1341c55fed 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/OneOfString.cs @@ -149,6 +149,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index d3e959b95a67..114391721fd3 100644 --- a/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -231,6 +231,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs index ba5d85932b34..8df4f460677c 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs @@ -204,6 +204,17 @@ public override Fruit Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter appleJsonConverter = new AppleJsonConverter(); + appleJsonConverter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter bananaJsonConverter = new BananaJsonConverter(); + bananaJsonConverter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs index 440fbefb11ac..fe68f4dd4ac4 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/FruitReq.cs @@ -178,6 +178,17 @@ public override FruitReq Read(ref Utf8JsonReader utf8JsonReader, Type typeToConv public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSerializerOptions jsonSerializerOptions) { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter appleReqJsonConverter = new AppleReqJsonConverter(); + appleReqJsonConverter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter bananaReqJsonConverter = new BananaReqJsonConverter(); + bananaReqJsonConverter.WriteProperties(writer, fruitReq.BananaReq, jsonSerializerOptions); + } WriteProperties(writer, fruitReq, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs index 88d0a9a352de..3b5f93fcfb81 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/MixedOneOfContent.cs @@ -250,7 +250,36 @@ public override MixedOneOfContent Read(ref Utf8JsonReader utf8JsonReader, Type t /// public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfContent, JsonSerializerOptions jsonSerializerOptions) { + if (mixedOneOfContent.String != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.String, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Bool != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Bool, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Int != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Int, jsonSerializerOptions); + return; + } + + if (mixedOneOfContent.Decimal != null) + { + JsonSerializer.Serialize(writer, mixedOneOfContent.Decimal, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter mixedSubIdJsonConverter = new MixedSubIdJsonConverter(); + mixedSubIdJsonConverter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs index af0ceaa278b0..b5b0a324b1eb 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/OneOfString.cs @@ -146,6 +146,12 @@ public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToC /// public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions) { + if (oneOfString.String != null) + { + JsonSerializer.Serialize(writer, oneOfString.String, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, oneOfString, jsonSerializerOptions); diff --git a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs index befe6e02ec3a..c7ef5eda6387 100644 --- a/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs +++ b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/PolymorphicProperty.cs @@ -228,6 +228,30 @@ public override PolymorphicProperty Read(ref Utf8JsonReader utf8JsonReader, Type /// public override void Write(Utf8JsonWriter writer, PolymorphicProperty polymorphicProperty, JsonSerializerOptions jsonSerializerOptions) { + if (polymorphicProperty.Bool != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Bool, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.String != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.String, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.Object != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.Object, jsonSerializerOptions); + return; + } + + if (polymorphicProperty.List != null) + { + JsonSerializer.Serialize(writer, polymorphicProperty.List, jsonSerializerOptions); + return; + } + writer.WriteStartObject(); WriteProperties(writer, polymorphicProperty, jsonSerializerOptions); From 32deebc6b6b10e9f08186846fbe972759a382537 Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 19 Aug 2026 20:19:20 +0800 Subject: [PATCH 4/5] update samples --- .../net8/OneOf/.openapi-generator/FILES | 1 + .../Org.OpenAPITools.Test/Model/FruitTests.cs | 36 ------------------- 2 files changed, 1 insertion(+), 36 deletions(-) diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES index de14bc5e5e2a..fdc56395747e 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES @@ -11,6 +11,7 @@ docs/models/Orange.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs +src/Org.OpenAPITools.Test/Model/FruitTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/DefaultApi.cs diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs index 8eb2a2d59126..a6607ae5d56d 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/src/Org.OpenAPITools.Test/Model/FruitTests.cs @@ -17,7 +17,6 @@ using Org.OpenAPITools.Model; using Org.OpenAPITools.Client; using System.Reflection; -using System.Text.Json; namespace Org.OpenAPITools.Test.Model { @@ -62,40 +61,5 @@ public void ColorTest() { // TODO unit test for the property 'Color' } - - [Fact] - public void SerializeOneOfReferencedObject() - { - var options = new JsonSerializerOptions(); - options.Converters.Add(new AppleJsonConverter()); - options.Converters.Add(new BananaJsonConverter()); - options.Converters.Add(new FruitJsonConverter()); - options.Converters.Add(new OrangeJsonConverter()); - - Fruit fruit = new Fruit(new Apple("red")); - - string json = JsonSerializer.Serialize(fruit, options); - - Assert.Equal("{\"kind\":\"red\"}", json); - } - - [Fact] - public void SerializeOneOfReferencedObjectWithSiblingProperty() - { - var options = new JsonSerializerOptions(); - options.Converters.Add(new AppleJsonConverter()); - options.Converters.Add(new BananaJsonConverter()); - options.Converters.Add(new FruitJsonConverter()); - options.Converters.Add(new OrangeJsonConverter()); - - Fruit fruit = new Fruit( - new Apple("red"), - new Option("green") - ); - - string json = JsonSerializer.Serialize(fruit, options); - - Assert.Equal("{\"kind\":\"red\",\"color\":\"green\"}", json); - } } } From 33c9825873f5176ef40ca9eaa3652b9e98326e4d Mon Sep 17 00:00:00 2001 From: William Cheng Date: Wed, 19 Aug 2026 20:52:14 +0800 Subject: [PATCH 5/5] update samples --- .../csharp/generichost/net8/OneOf/.openapi-generator/FILES | 1 - 1 file changed, 1 deletion(-) diff --git a/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES b/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES index fdc56395747e..de14bc5e5e2a 100644 --- a/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES +++ b/samples/client/petstore/csharp/generichost/net8/OneOf/.openapi-generator/FILES @@ -11,7 +11,6 @@ docs/models/Orange.md docs/scripts/git_push.ps1 docs/scripts/git_push.sh src/Org.OpenAPITools.Test/Api/DependencyInjectionTests.cs -src/Org.OpenAPITools.Test/Model/FruitTests.cs src/Org.OpenAPITools.Test/Org.OpenAPITools.Test.csproj src/Org.OpenAPITools.Test/README.md src/Org.OpenAPITools/Api/DefaultApi.cs