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 e25293818a3a..7c357d6087ba 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 @@ -420,6 +420,22 @@ {{/model.discriminator}} {{^model.discriminator}} {{#composedSchemas}} + {{#oneOf}} + {{^vendorExtensions.x-duplicated-data-type}} + {{^isPrimitiveType}} + {{^isArray}} + {{^isMap}} + if ({{#lambda.camelcase_sanitize_param}}{{model.classname}}{{/lambda.camelcase_sanitize_param}}.{{name}} != null) + { + {{baseType}}JsonConverter converter = ({{baseType}}JsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof({{baseType}}))); + converter.WriteProperties(writer, {{#lambda.camelcase_sanitize_param}}{{model.classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}, jsonSerializerOptions); + } + + {{/isMap}} + {{/isArray}} + {{/isPrimitiveType}} + {{/vendorExtensions.x-duplicated-data-type}} + {{/oneOf}} {{#anyOf}} if ({{#lambda.joinWithAmpersand}}{{^required}}{{#lambda.camelcase_sanitize_param}}{{model.classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}Option.IsSet {{/required}}{{#lambda.camelcase_sanitize_param}}{{model.classname}}{{/lambda.camelcase_sanitize_param}}.{{name}}{{^required}}Option.Value{{/required}} != null{{/lambda.joinWithAmpersand}}) {{#isPrimitiveType}} diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpGenericHostOneOfSerializationTest.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpGenericHostOneOfSerializationTest.java new file mode 100644 index 000000000000..a6d0d6477704 --- /dev/null +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/csharpnetcore/CSharpGenericHostOneOfSerializationTest.java @@ -0,0 +1,32 @@ +/* + * Copyright 2026 OpenAPI-Generator Contributors (https://openapi-generator.tech) + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + */ +package org.openapitools.codegen.csharpnetcore; + +import org.openapitools.codegen.DefaultGenerator; +import org.openapitools.codegen.config.CodegenConfigurator; +import org.testng.annotations.Test; + +import java.nio.file.Path; + +import static org.openapitools.codegen.TestUtils.assertFileContains; +import static org.openapitools.codegen.TestUtils.newTempFolder; + +public class CSharpGenericHostOneOfSerializationTest { + @Test + public void testObjectOneOfWithoutDiscriminatorWritesVariant() throws Exception { + Path output = newTempFolder(); + CodegenConfigurator config = new CodegenConfigurator().setGeneratorName("csharp").setLibrary("generichost") + .setInputSpec("src/test/resources/3_0/csharp/oneof-object-serialization.yaml") + .setOutputDir(output.toString()).addAdditionalProperty("packageName", "OneOfRepro"); + new DefaultGenerator().opts(config.toClientOptInput()).generate(); + assertFileContains(output.resolve("src/OneOfRepro/Model/Entry.cs"), + "if (entry.FileEntry != null)", + "converter.WriteProperties(writer, entry.FileEntry, jsonSerializerOptions);", + "if (entry.FolderEntry != null)", + "converter.WriteProperties(writer, entry.FolderEntry, jsonSerializerOptions);"); + } +} diff --git a/modules/openapi-generator/src/test/resources/3_0/csharp/oneof-object-serialization.yaml b/modules/openapi-generator/src/test/resources/3_0/csharp/oneof-object-serialization.yaml new file mode 100644 index 000000000000..f95ff7beb9bd --- /dev/null +++ b/modules/openapi-generator/src/test/resources/3_0/csharp/oneof-object-serialization.yaml @@ -0,0 +1,27 @@ +openapi: 3.0.3 +info: + title: oneOf reproduction + version: 1.0.0 +paths: {} +components: + schemas: + Entry: + oneOf: + - $ref: '#/components/schemas/FileEntry' + - $ref: '#/components/schemas/FolderEntry' + FileEntry: + type: object + required: [name, size] + properties: + name: + type: string + size: + type: integer + FolderEntry: + type: object + required: [name, id] + properties: + name: + type: string + id: + type: string 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 243215e72240..1010b6fe7861 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 b28dc4d8ed56..a51d2a619485 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 9dc1bb0487da..01b3864f2ff4 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 @@ -245,6 +245,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index 784b5dc9af79..278ec341e5a4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs index a4308c32d8b6..3a8961d81398 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 d561a09a3804..ae8e0b25a148 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 6811c075b9ca..74488c4f2078 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 @@ -253,6 +253,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } + WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); } diff --git a/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools.Test/Model/OneOfSerializationRegressionTests.cs b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools.Test/Model/OneOfSerializationRegressionTests.cs new file mode 100644 index 000000000000..14cd47812f6e --- /dev/null +++ b/samples/client/petstore/csharp/generichost/net10/OneOf/src/Org.OpenAPITools.Test/Model/OneOfSerializationRegressionTests.cs @@ -0,0 +1,34 @@ +using System.Text.Json; +using Microsoft.Extensions.DependencyInjection; +using Org.OpenAPITools.Client; +using Org.OpenAPITools.Model; +using Xunit; + +namespace Org.OpenAPITools.Test.Model +{ + public class OneOfSerializationRegressionTests + { + [Fact] + public void WritesActiveObjectVariantAndWrapperProperties() + { + JsonSerializerOptions? options = null; + new HostConfiguration(new ServiceCollection()).ConfigureJsonOptions(value => options = value); + Assert.NotNull(options); + Fruit fruit = JsonSerializer.Deserialize("{\"kind\":\"gala\",\"color\":\"red\"}", options)!; + Assert.NotNull(fruit.Apple); + using (JsonDocument json = JsonDocument.Parse(JsonSerializer.Serialize(fruit, options))) + { + Assert.Equal("gala", json.RootElement.GetProperty("kind").GetString()); + Assert.Equal("red", json.RootElement.GetProperty("color").GetString()); + } + + fruit.Apple = null; + fruit.Banana = new Banana { Count = 2 }; + using (JsonDocument json = JsonDocument.Parse(JsonSerializer.Serialize(fruit, options))) + { + Assert.Equal(2, json.RootElement.GetProperty("count").GetInt32()); + Assert.Equal("red", json.RootElement.GetProperty("color").GetString()); + } + } + } +} 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 ba9946bc000b..0baa3d46564f 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,24 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter converter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Orange))); + converter.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 784b5dc9af79..278ec341e5a4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net10/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs index faa29c9f5d95..1ab6928be39a 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 055e99668c60..35343e52bd02 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 8ef84d0e9496..86177c4f6824 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 @@ -254,6 +254,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.7/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index ba7eb93c2ec2..becd99ba38c4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } + WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); } 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 0d2df9da3d80..828fdb6b8cb4 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,24 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter converter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Orange))); + converter.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 ba7eb93c2ec2..becd99ba38c4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net4.8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index ba7eb93c2ec2..becd99ba38c4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } + WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); } 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 0d2df9da3d80..828fdb6b8cb4 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,24 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter converter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Orange))); + converter.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 ba7eb93c2ec2..becd99ba38c4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index 784b5dc9af79..278ec341e5a4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs index a4308c32d8b6..3a8961d81398 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 d561a09a3804..ae8e0b25a148 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 6811c075b9ca..74488c4f2078 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 @@ -253,6 +253,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } + WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); } 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 ba9946bc000b..0baa3d46564f 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,24 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter converter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Orange))); + converter.WriteProperties(writer, fruit.Orange, jsonSerializerOptions); + } + WriteProperties(writer, fruit, jsonSerializerOptions); writer.WriteEndObject(); } 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 784b5dc9af79..278ec341e5a4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net8/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs index faa29c9f5d95..1ab6928be39a 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 055e99668c60..35343e52bd02 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 8ef84d0e9496..86177c4f6824 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 @@ -254,6 +254,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/FormModels/src/Org.OpenAPITools/Model/Fruit.cs index 784b5dc9af79..278ec341e5a4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/NullReferenceTypes/src/Org.OpenAPITools/Model/Fruit.cs index a4308c32d8b6..3a8961d81398 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 d561a09a3804..ae8e0b25a148 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 6811c075b9ca..74488c4f2078 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 @@ -253,6 +253,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } + WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); } 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 ba9946bc000b..0baa3d46564f 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,24 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.WriteProperties(writer, fruit.Banana, jsonSerializerOptions); + } + + if (fruit.Orange != null) + { + OrangeJsonConverter converter = (OrangeJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Orange))); + converter.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 784b5dc9af79..278ec341e5a4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/net9/SourceGeneration/src/Org.OpenAPITools/Model/Fruit.cs index faa29c9f5d95..1ab6928be39a 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 055e99668c60..35343e52bd02 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 8ef84d0e9496..86177c4f6824 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 @@ -254,6 +254,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.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/Fruit.cs b/samples/client/petstore/csharp/generichost/standard2.0/Petstore/src/Org.OpenAPITools/Model/Fruit.cs index ba7eb93c2ec2..becd99ba38c4 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,18 @@ public override void Write(Utf8JsonWriter writer, Fruit fruit, JsonSerializerOpt { writer.WriteStartObject(); + if (fruit.Apple != null) + { + AppleJsonConverter converter = (AppleJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Apple))); + converter.WriteProperties(writer, fruit.Apple, jsonSerializerOptions); + } + + if (fruit.Banana != null) + { + BananaJsonConverter converter = (BananaJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(Banana))); + converter.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 88686dd4a32e..5fe1498b5d6e 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,18 @@ public override void Write(Utf8JsonWriter writer, FruitReq fruitReq, JsonSeriali { writer.WriteStartObject(); + if (fruitReq.AppleReq != null) + { + AppleReqJsonConverter converter = (AppleReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(AppleReq))); + converter.WriteProperties(writer, fruitReq.AppleReq, jsonSerializerOptions); + } + + if (fruitReq.BananaReq != null) + { + BananaReqJsonConverter converter = (BananaReqJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(BananaReq))); + converter.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 65ed21f4c667..a28ca47d9ce3 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 @@ -251,6 +251,12 @@ public override void Write(Utf8JsonWriter writer, MixedOneOfContent mixedOneOfCo { writer.WriteStartObject(); + if (mixedOneOfContent.MixedSubId != null) + { + MixedSubIdJsonConverter converter = (MixedSubIdJsonConverter) jsonSerializerOptions.Converters.First(c => c.CanConvert(typeof(MixedSubId))); + converter.WriteProperties(writer, mixedOneOfContent.MixedSubId, jsonSerializerOptions); + } + WriteProperties(writer, mixedOneOfContent, jsonSerializerOptions); writer.WriteEndObject(); }