/** * @param string $key * @param Region $entity */ public function fillEntityData($key, $entity) { $countryRepo = $this->templateManager->getEntityRepository('Oro\\Bundle\\AddressBundle\\Entity\\Country'); switch ($key) { case 'NY': $entity->setCode($key); $country = $countryRepo->getEntity('US'); $country->addRegion($entity); return; } parent::fillEntityData($key, $entity); }
/** * @param string $locale * @param Country $country * @param array $regionData * @return null|Region */ protected function getRegion($locale, Country $country, array $regionData) { if (empty($regionData['combinedCode']) || empty($regionData['code'])) { return null; } /** @var $region Region */ $region = $this->regionRepository->findOneBy(array('combinedCode' => $regionData['combinedCode'])); if (!$region) { $region = new Region($regionData['combinedCode']); $region->setCode($regionData['code'])->setCountry($country); } $regionName = $this->translate($regionData['combinedCode'], static::REGION_PREFIX, $locale); $region->setLocale($locale)->setName($regionName); return $region; }
/** * @param string $code * @param Country $country * @return Region */ protected function createRegion($code, Country $country) { $result = new Region($country->getIso2Code() . '.' . $code); $result->setCode($code); return $result; }