public String setAddress()

in service/src/main/java/org/apache/fineract/cn/office/internal/command/handler/OfficeAggregate.java [152:174]


  public String setAddress(final SetAddressForOfficeCommand setAddressForOfficeCommand) {
    final Optional<OfficeEntity> optionalOfficeEntity = this.officeRepository.findByIdentifier(setAddressForOfficeCommand.identifier());

    if (optionalOfficeEntity.isPresent()) {
      final OfficeEntity officeEntity = optionalOfficeEntity.get();
      final Optional<AddressEntity> optionalAddressEntity = this.addressRepository.findByOffice(officeEntity);
      if (optionalAddressEntity.isPresent()) {
        this.addressRepository.delete(optionalAddressEntity.get());
      }

      final AddressEntity addressEntity = AddressMapper.map(setAddressForOfficeCommand.address());
      addressEntity.setOffice(officeEntity);
      this.addressRepository.save(addressEntity);

      officeEntity.setLastModifiedBy(UserContextHolder.checkedGetUser());
      officeEntity.setLastModifiedOn(Utils.utcNow());
      this.officeRepository.save(officeEntity);

      return setAddressForOfficeCommand.identifier();
    } else {
      throw ServiceException.notFound("Office {0} not found.", setAddressForOfficeCommand.identifier());
    }
  }