You are here

protected function ConfigImporter::createCurrencyFromRepository in Currency 8.3

Creates a currency entity from a currency from the repository.

Parameters

string $currency_code:

Return value

\Drupal\currency\Entity\CurrencyInterface

Throws

\InvalidArgumentException Thrown when no currency with the given currency code exists.

2 calls to ConfigImporter::createCurrencyFromRepository()
ConfigImporter::getImportableCurrencies in src/ConfigImporter.php
Gets all currencies that can be imported.
ConfigImporter::importCurrency in src/ConfigImporter.php
Imports a currency.

File

src/ConfigImporter.php, line 168

Class

ConfigImporter
Provides a config importer.

Namespace

Drupal\currency

Code

protected function createCurrencyFromRepository($currency_code) {

  /** @var \Drupal\currency\Entity\CurrencyInterface $currency_entity */
  $currency_entity = $this->currencyStorage
    ->create();
  $currency_resource = $this->currencyResourceRepository
    ->loadCurrency($currency_code);
  if (is_null($currency_resource)) {
    throw new \InvalidArgumentException(sprintf('No currency with currency code %s exists.', $currency_code));
  }
  $currency_entity
    ->setCurrencyCode($currency_resource
    ->getCurrencyCode());
  $currency_entity
    ->setCurrencyNumber($currency_resource
    ->getCurrencyNumber());
  $currency_entity
    ->setLabel($currency_resource
    ->getLabel());
  $currency_entity
    ->setSign($currency_resource
    ->getSign());
  $currency_entity
    ->setAlternativeSigns($currency_resource
    ->getAlternativeSigns());
  $currency_entity
    ->setSubunits($currency_resource
    ->getSubunits());
  $currency_entity
    ->setRoundingStep($currency_resource
    ->getRoundingStep());
  $currency_entity
    ->setUsages($currency_resource
    ->getUsages());
  return $currency_entity;
}