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