저자: Adam Piotrowski (adam@wellcommerce.org)
상속: extends WellCommerce\Bundle\DoctrineBundle\Entity\AbstractEntity, implements WellCommerce\Bundle\CurrencyBundle\Entity\CurrencyRateInterface, use trait Knp\DoctrineBehaviors\Model\Timestampable\Timestampable, use trait Knp\DoctrineBehaviors\Model\Blameable\Blameable
 public function create() : CurrencyRateInterface
 {
     $currencyRate = new CurrencyRate();
     $currencyRate->setExchangeRate(1);
     $currencyRate->setCurrencyFrom('');
     $currencyRate->setCurrencyTo('');
     return $currencyRate;
 }
 /**
  * Adds new rate or updates existing one
  *
  * @param string $currencyFrom
  * @param string $currencyTo
  * @param float  $rate
  */
 protected function addUpdateExchangeRate($currencyFrom, $currencyTo, $rate)
 {
     if (!in_array($currencyTo, $this->managedCurrencies)) {
         return false;
     }
     $exchangeRate = $this->ratesRepository->findOneBy(['currencyFrom' => $currencyFrom, 'currencyTo' => $currencyTo]);
     if (null === $exchangeRate) {
         $exchangeRate = new CurrencyRate();
         $exchangeRate->setCurrencyFrom($currencyFrom);
         $exchangeRate->setCurrencyTo($currencyTo);
         $exchangeRate->setExchangeRate($rate);
         $this->helper->getEntityManager()->persist($exchangeRate);
     } else {
         $exchangeRate->setExchangeRate($rate);
     }
     return true;
 }
예제 #3
0
 /**
  * Sets exchange rate for target and base currency pair
  *
  * @param CurrencyRate $rate
  * @param string       $targetCurrency
  */
 protected function setExchangeRate(CurrencyRate $rate, $targetCurrency)
 {
     $this->exchangeRates[$targetCurrency][$rate->getCurrencyFrom()] = $rate->getExchangeRate();
 }