populateEntityReferences method
Implementation
void populateEntityReferences(Entities entities) {
for (var entity in entities) {
for (Parent parent in entity.concept.externalParents) {
Reference? reference = entity.getReference(parent.code!);
if (reference != null) {
//String parentOidString = reference.parentOidString;
//String parentConceptCode = reference.parentConceptCode;
//String entryConceptCode = reference.entryConceptCode;
var parentEntity =
internalSingle(reference.entryConceptCode, reference.oid);
if (parentEntity == null) {
throw ParentException('Parent not found for the reference: '
'${reference.toString()}');
}
if (entity.getParent(parent.code!) == null) {
entity.setParent(parent.code!, parentEntity);
//print('parent.opposite.code!: ${parent.opposite.code!}');
var parentChildEntities =
parentEntity.getChild(parent.opposite?.code!) as Entities?;
//print('parentChildEntities.length before add: ${parentChildEntities.length}');
parentChildEntities?.add(entity);
//print('parentChildEntities.length after add: ${parentChildEntities.length}');
}
}
}
for (Child internalChild in entity.concept.internalChildren) {
var childEntities = entity.getChild(internalChild.code!) as Entities?;
populateEntityReferences(childEntities!);
}
}
}