[C#][netcore] Fix deserialisation for models with additional properties (#8912)

* better check for additioanl properties serializer

* fix additional properties check

* use additonal prop serializer with model mappings
This commit is contained in:
William Cheng
2021-03-09 15:15:33 +08:00
committed by GitHub
parent 8110884aac
commit 065c524894
47 changed files with 542 additions and 537 deletions

View File

@@ -113,11 +113,6 @@
{{#mappedModels}}
case "{{{mappingName}}}":
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{modelName}}}>(jsonString, {{classname}}.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (new{{{classname}}}.GetType().GetProperty("AdditionalProperties") == null)
{
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{modelName}}}>(jsonString, {{classname}}.SerializerSettings));
}
return new{{classname}};
{{/mappedModels}}
default:
@@ -133,12 +128,15 @@
try
{
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{.}}}>(jsonString, {{classname}}.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (new{{{classname}}}.GetType().GetProperty("AdditionalProperties") == null)
if (typeof({{{.}}}).GetProperty("AdditionalProperties") == null)
{
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{.}}}>(jsonString, {{classname}}.SerializerSettings));
}
else
{
new{{classname}} = new {{classname}}(JsonConvert.DeserializeObject<{{{.}}}>(jsonString, {{classname}}.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("{{{.}}}");
match++;
}

View File

@@ -147,12 +147,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Apple).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Apple");
match++;
}
@@ -164,12 +167,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Banana).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Banana");
match++;
}

View File

@@ -156,12 +156,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(AppleReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("AppleReq");
match++;
}
@@ -173,12 +176,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BananaReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BananaReq");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "Pig":
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "whale":
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "zebra":
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Pig).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Pig");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Whale).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Whale");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Zebra).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Zebra");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
case "Triangle":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "BasquePig":
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
return newPig;
case "DanishPig":
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
return newPig;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BasquePig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BasquePig");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(DanishPig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("DanishPig");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "ComplexQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
case "SimpleQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ComplexQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ComplexQuadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(SimpleQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("SimpleQuadrilateral");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
return newShape;
case "Triangle":
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
return newShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
case "Triangle":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "EquilateralTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "IsoscelesTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "ScaleneTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(EquilateralTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("EquilateralTriangle");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(IsoscelesTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("IsoscelesTriangle");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ScaleneTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ScaleneTriangle");
match++;
}

View File

@@ -147,12 +147,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Apple).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Apple");
match++;
}
@@ -164,12 +167,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Banana).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Banana");
match++;
}

View File

@@ -156,12 +156,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(AppleReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("AppleReq");
match++;
}
@@ -173,12 +176,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BananaReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BananaReq");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "Pig":
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "whale":
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "zebra":
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Pig).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Pig");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Whale).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Whale");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Zebra).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Zebra");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
case "Triangle":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "BasquePig":
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
return newPig;
case "DanishPig":
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
return newPig;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BasquePig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BasquePig");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(DanishPig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("DanishPig");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "ComplexQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
case "SimpleQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ComplexQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ComplexQuadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(SimpleQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("SimpleQuadrilateral");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
return newShape;
case "Triangle":
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
return newShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
case "Triangle":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "EquilateralTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "IsoscelesTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "ScaleneTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(EquilateralTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("EquilateralTriangle");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(IsoscelesTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("IsoscelesTriangle");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ScaleneTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ScaleneTriangle");
match++;
}

View File

@@ -147,12 +147,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Apple).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Apple");
match++;
}
@@ -164,12 +167,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Banana).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Banana");
match++;
}

View File

@@ -156,12 +156,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(AppleReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("AppleReq");
match++;
}
@@ -173,12 +176,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BananaReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BananaReq");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "Pig":
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "whale":
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "zebra":
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Pig).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Pig");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Whale).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Whale");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Zebra).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Zebra");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
case "Triangle":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "BasquePig":
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
return newPig;
case "DanishPig":
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
return newPig;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BasquePig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BasquePig");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(DanishPig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("DanishPig");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "ComplexQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
case "SimpleQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ComplexQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ComplexQuadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(SimpleQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("SimpleQuadrilateral");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
return newShape;
case "Triangle":
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
return newShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
case "Triangle":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "EquilateralTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "IsoscelesTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "ScaleneTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(EquilateralTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("EquilateralTriangle");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(IsoscelesTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("IsoscelesTriangle");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ScaleneTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ScaleneTriangle");
match++;
}

View File

@@ -81,20 +81,47 @@ namespace Org.OpenAPITools.Test
Assert.Equal("{\"lengthCm\":13.0}", f1.ToJson());
Assert.Equal("{\"origin\":\"Japan\"}", f2.ToJson());
}
Fruit f3 = Fruit.FromJson("{\"lengthCm\":98}");
Assert.IsType<Banana>(f3.ActualInstance);
/// <summary>
/// Test Fruit with JSON payload matching both Apple and Banana
/// </summary>
[Fact]
public void TestFruitWithPayloadMatchingMoreThanOne()
{
// more than 1 match
Assert.Throws<InvalidDataException>(() => Fruit.FromJson("{\"origin\":\"Japan\"}"));
Assert.Throws<InvalidDataException>(() => Fruit.FromJson("{\"lengthCm\":98}"));
}
Fruit f4 = Fruit.FromJson("{\"origin\":\"Japan\"}");
// since banana allows additional properties, it will apple's JSON payload as well
Assert.IsType<Banana>(f4.ActualInstance);
/// <summary>
/// Apple Properties tests
/// </summary>
[Fact]
public void TestAppleProperties()
{
Assert.NotNull(typeof(Apple).GetProperty("Origin"));
Assert.NotNull(typeof(Apple).GetProperty("AdditionalProperties"));
}
// test custom deserializer
Fruit f5 = JsonConvert.DeserializeObject<Fruit>("{\"lengthCm\":98}");
Assert.IsType<Banana>(f5.ActualInstance);
/// <summary>
/// Apple tests
/// </summary>
[Fact]
public void TestApple()
{
Apple a = JsonConvert.DeserializeObject<Apple>("{\"origin\":\"Japan\"}", Fruit.AdditionalPropertiesSerializerSettings);
Assert.Equal("{\"origin\":\"Japan\"}", JsonConvert.SerializeObject(a));
}
// test custom serializer
Assert.Equal("{\"lengthCm\":98.0}", JsonConvert.SerializeObject(f5));
/// <summary>
/// Banana tests
/// </summary>
[Fact]
public void TestBanana()
{
Banana a = JsonConvert.DeserializeObject<Banana>("{\"lengthCm\":98}", Fruit.AdditionalPropertiesSerializerSettings);
Assert.Equal("{\"lengthCm\":98.0}", JsonConvert.SerializeObject(a));
}
/// <summary>

View File

@@ -147,12 +147,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Apple).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Apple");
match++;
}
@@ -164,12 +167,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Banana).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Banana");
match++;
}

View File

@@ -156,12 +156,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(AppleReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("AppleReq");
match++;
}
@@ -173,12 +176,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BananaReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BananaReq");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "Pig":
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "whale":
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
case "zebra":
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
return newMammal;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Mammal. Possible values: Pig whale zebra", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Pig).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Pig");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Whale).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Whale");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Zebra).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Zebra");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
case "Triangle":
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
return newNullableShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for NullableShape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "BasquePig":
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
return newPig;
case "DanishPig":
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
return newPig;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Pig. Possible values: BasquePig DanishPig", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BasquePig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BasquePig");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(DanishPig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("DanishPig");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "ComplexQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
case "SimpleQuadrilateral":
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
return newQuadrilateral;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Quadrilateral. Possible values: ComplexQuadrilateral SimpleQuadrilateral", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ComplexQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ComplexQuadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(SimpleQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("SimpleQuadrilateral");
match++;
}

View File

@@ -149,19 +149,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
return newShape;
case "Triangle":
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
return newShape;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Shape. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -173,12 +163,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -190,12 +183,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -158,19 +158,9 @@ namespace Org.OpenAPITools.Model
{
case "Quadrilateral":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
case "Triangle":
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
return newShapeOrNull;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for ShapeOrNull. Possible values: Quadrilateral Triangle", discriminatorValue));
@@ -182,12 +172,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -199,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -175,27 +175,12 @@ namespace Org.OpenAPITools.Model
{
case "EquilateralTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "IsoscelesTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
case "ScaleneTriangle":
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
return newTriangle;
default:
System.Diagnostics.Debug.WriteLine(String.Format("Failed to lookup discriminator value `{0}` for Triangle. Possible values: EquilateralTriangle IsoscelesTriangle ScaleneTriangle", discriminatorValue));
@@ -207,12 +192,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(EquilateralTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("EquilateralTriangle");
match++;
}
@@ -224,12 +212,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(IsoscelesTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("IsoscelesTriangle");
match++;
}
@@ -241,12 +232,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ScaleneTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ScaleneTriangle");
match++;
}

View File

@@ -147,12 +147,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Apple).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Apple>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Apple");
match++;
}
@@ -164,12 +167,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruit.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Banana).GetProperty("AdditionalProperties") == null)
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.SerializerSettings));
}
else
{
newFruit = new Fruit(JsonConvert.DeserializeObject<Banana>(jsonString, Fruit.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Banana");
match++;
}

View File

@@ -156,12 +156,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(AppleReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<AppleReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("AppleReq");
match++;
}
@@ -173,12 +176,15 @@ namespace Org.OpenAPITools.Model
try
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newFruitReq.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BananaReq).GetProperty("AdditionalProperties") == null)
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.SerializerSettings));
}
else
{
newFruitReq = new FruitReq(JsonConvert.DeserializeObject<BananaReq>(jsonString, FruitReq.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BananaReq");
match++;
}

View File

@@ -174,12 +174,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Pig).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Pig>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Pig");
match++;
}
@@ -191,12 +194,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Whale).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Whale>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Whale");
match++;
}
@@ -208,12 +214,15 @@ namespace Org.OpenAPITools.Model
try
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newMammal.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Zebra).GetProperty("AdditionalProperties") == null)
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.SerializerSettings));
}
else
{
newMammal = new Mammal(JsonConvert.DeserializeObject<Zebra>(jsonString, Mammal.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Zebra");
match++;
}

View File

@@ -157,12 +157,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -174,12 +177,15 @@ namespace Org.OpenAPITools.Model
try
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newNullableShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.SerializerSettings));
}
else
{
newNullableShape = new NullableShape(JsonConvert.DeserializeObject<Triangle>(jsonString, NullableShape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -148,12 +148,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(BasquePig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<BasquePig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("BasquePig");
match++;
}
@@ -165,12 +168,15 @@ namespace Org.OpenAPITools.Model
try
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newPig.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(DanishPig).GetProperty("AdditionalProperties") == null)
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.SerializerSettings));
}
else
{
newPig = new Pig(JsonConvert.DeserializeObject<DanishPig>(jsonString, Pig.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("DanishPig");
match++;
}

View File

@@ -148,12 +148,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ComplexQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<ComplexQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ComplexQuadrilateral");
match++;
}
@@ -165,12 +168,15 @@ namespace Org.OpenAPITools.Model
try
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newQuadrilateral.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(SimpleQuadrilateral).GetProperty("AdditionalProperties") == null)
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.SerializerSettings));
}
else
{
newQuadrilateral = new Quadrilateral(JsonConvert.DeserializeObject<SimpleQuadrilateral>(jsonString, Quadrilateral.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("SimpleQuadrilateral");
match++;
}

View File

@@ -148,12 +148,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -165,12 +168,15 @@ namespace Org.OpenAPITools.Model
try
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShape.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.SerializerSettings));
}
else
{
newShape = new Shape(JsonConvert.DeserializeObject<Triangle>(jsonString, Shape.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -157,12 +157,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Quadrilateral).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Quadrilateral>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Quadrilateral");
match++;
}
@@ -174,12 +177,15 @@ namespace Org.OpenAPITools.Model
try
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newShapeOrNull.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(Triangle).GetProperty("AdditionalProperties") == null)
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.SerializerSettings));
}
else
{
newShapeOrNull = new ShapeOrNull(JsonConvert.DeserializeObject<Triangle>(jsonString, ShapeOrNull.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("Triangle");
match++;
}

View File

@@ -174,12 +174,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(EquilateralTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<EquilateralTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("EquilateralTriangle");
match++;
}
@@ -191,12 +194,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(IsoscelesTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<IsoscelesTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("IsoscelesTriangle");
match++;
}
@@ -208,12 +214,15 @@ namespace Org.OpenAPITools.Model
try
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
if (newTriangle.GetType().GetProperty("AdditionalProperties") == null)
if (typeof(ScaleneTriangle).GetProperty("AdditionalProperties") == null)
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.SerializerSettings));
}
else
{
newTriangle = new Triangle(JsonConvert.DeserializeObject<ScaleneTriangle>(jsonString, Triangle.AdditionalPropertiesSerializerSettings));
}
matchedTypes.Add("ScaleneTriangle");
match++;
}