public String addExternalReference()

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;
  }