Initial xentral_oss_20.3.c9ffacf

This commit is contained in:
Alex
2021-05-21 08:49:41 +02:00
parent 5406e4a551
commit 34e5ac43d9
18884 changed files with 2109867 additions and 0 deletions
@@ -0,0 +1,55 @@
<?php
namespace Xentral\Modules\Article\Service;
use Xentral\Modules\Article\Exception\CurrencyExchangeRateNotFoundException;
class CurrencyConversionService
{
/**
* @deprecated
* @var \erpAPI
*/
private $erp;
/**
* @var array
*/
private $cache;
/**
* CurrencyConversionService constructor.
*
* @param \erpAPI $erp
*/
public function __construct(\erpAPI $erp)
{
$this->erp = $erp;
$this->cache = [];
}
/**
* @param string $currencyCode
*
* @throws CurrencyExchangeRateNotFoundException
*
* @return float
*/
public function tryGetEuroExchangeRateFromCurrencyCode($currencyCode)
{
if(isset($this->cache[$currencyCode])) {
$exchangeRate = $this->cache[$currencyCode];
}
else {
$exchangeRate = $this->erp->GetWaehrungUmrechnungskurs('EUR', $currencyCode, true);
$this->cache[$currencyCode] = $exchangeRate;
}
if ($exchangeRate === false) {
throw new CurrencyExchangeRateNotFoundException('Currency exchange rate not found: ' . $currencyCode);
}
return (float)$exchangeRate;
}
}