private void updateChargePointInternal(DSLContext ctx, ChargePointForm form, Integer addressPk) {
   ctx.update(CHARGE_BOX)
       .set(CHARGE_BOX.DESCRIPTION, form.getDescription())
       .set(CHARGE_BOX.LOCATION_LATITUDE, form.getLocationLatitude())
       .set(CHARGE_BOX.LOCATION_LONGITUDE, form.getLocationLongitude())
       .set(CHARGE_BOX.NOTE, form.getNote())
       .set(CHARGE_BOX.ADDRESS_PK, addressPk)
       .where(CHARGE_BOX.CHARGE_BOX_PK.equal(form.getChargeBoxPk()))
       .execute();
 }
 private int addChargePointInternal(DSLContext ctx, ChargePointForm form, Integer addressPk) {
   return ctx.insertInto(CHARGE_BOX)
       .set(CHARGE_BOX.CHARGE_BOX_ID, form.getChargeBoxId())
       .set(CHARGE_BOX.DESCRIPTION, form.getDescription())
       .set(CHARGE_BOX.LOCATION_LATITUDE, form.getLocationLatitude())
       .set(CHARGE_BOX.LOCATION_LONGITUDE, form.getLocationLongitude())
       .set(CHARGE_BOX.NOTE, form.getNote())
       .set(CHARGE_BOX.ADDRESS_PK, addressPk)
       .returning(CHARGE_BOX.CHARGE_BOX_PK)
       .fetchOne()
       .getChargeBoxPk();
 }
  @Override
  public int addChargePoint(ChargePointForm form) {
    return ctx.transactionResult(
        configuration -> {
          DSLContext ctx = DSL.using(configuration);
          try {
            Integer addressId = addressRepository.updateOrInsert(ctx, form.getAddress());
            return addChargePointInternal(ctx, form, addressId);

          } catch (DataAccessException e) {
            throw new SteveException(
                "Failed to add the charge point with chargeBoxId '%s'", form.getChargeBoxId(), e);
          }
        });
  }