Skip to content

Commit 2b4ed6c

Browse files
authored
Merge pull request #1071 from swagger-api/issue-1070
fixed property datatype for extended models
2 parents 7ecb322 + 76826b2 commit 2b4ed6c

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/main/java/io/swagger/codegen/v3/generators/dotnet/CSharpClientCodegen.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,26 @@ public void postProcessModelProperty(CodegenModel model, CodegenProperty propert
587587
super.postProcessModelProperty(model, property);
588588
}
589589

590+
@Override
591+
protected void fixUpParentAndInterfaces(CodegenModel codegenModel, Map<String, CodegenModel> allModels) {
592+
super.fixUpParentAndInterfaces(codegenModel, allModels);
593+
final CodegenModel parentModel = codegenModel.getParentModel();
594+
if (parentModel == null || (codegenModel.getReadWriteVars() == null || codegenModel.getReadWriteVars().isEmpty()) || (parentModel.getVars() == null || parentModel.getVars().isEmpty())) {
595+
return;
596+
}
597+
codegenModel.setParentVars(parentModel.getVars());
598+
parentModel.getVars().forEach(parentProperty -> {
599+
codegenModel.getReadWriteVars().stream()
600+
.filter(codegenProperty -> parentProperty.getName().equalsIgnoreCase(codegenProperty.getName()))
601+
.findFirst()
602+
.ifPresent(codegenProperty -> {
603+
codegenProperty.setDatatype(parentProperty.getDatatype());
604+
codegenProperty.setDatatypeWithEnum(parentProperty.getDatatypeWithEnum());
605+
});
606+
});
607+
608+
}
609+
590610
/*
591611
* The swagger pattern spec follows the Perl convention and style of modifiers. .NET
592612
* does not support this syntax directly so we need to convert the pattern to a .NET compatible

0 commit comments

Comments
 (0)