コード例 #1
0
  public void setCurrencies(Integer entityId, CurrencyDTO[] currencies)
      throws NamingException, ParseException {
    EntityBL entity = new EntityBL(entityId);

    // start by wiping out the existing data for this entity
    entity.getEntity().getCurrencies().clear();
    for (CurrencyExchangeDTO exchange : exchangeDas.findByEntity(entityId)) {
      exchangeDas.delete(exchange);
    }

    for (CurrencyDTO currency : currencies) {
      if (currency.getInUse()) {
        set(currency.getId());
        entity.getEntity().getCurrencies().add(new CurrencyDAS().find(this.currency.getId()));

        if (currency.getRate() != null) {
          CurrencyExchangeDTO exchange =
              setOrUpdateExchangeRate(currency.getRateAsDecimal(), entityId, new Date());
          exchangeDas.save(exchange);
        }
      }
    }

    invalidateCache();
    ;
  }