in service/src/main/java/org/apache/fineract/cn/office/internal/command/handler/OfficeAggregate.java [203:224]
public String addExternalReference(final AddExternalReferenceCommand addExternalReferenceCommand) {
final String officeIdentifier = addExternalReferenceCommand.officeIdentifier();
final ExternalReference externalReference = addExternalReferenceCommand.externalReference();
final Optional<ExternalReferenceEntity> optionalExternalReference =
this.externalReferenceRepository.findByOfficeIdentifierAndType(officeIdentifier, externalReference.getType());
final ExternalReferenceEntity externalReferenceEntity;
if (optionalExternalReference.isPresent()) {
externalReferenceEntity = optionalExternalReference.get();
} else {
externalReferenceEntity = new ExternalReferenceEntity();
externalReferenceEntity.setOfficeIdentifier(officeIdentifier);
externalReferenceEntity.setType(externalReference.getType());
}
externalReferenceEntity.setState(externalReference.getState());
this.externalReferenceRepository.save(externalReferenceEntity);
return officeIdentifier;
}