. */ /* */ /*************************************************************************************/ namespace SoColissimo\Loop; use SoColissimo\Model\AddressSocolissimoQuery; use Thelia\Core\Template\Loop\Address; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; /** * Class SoColissimoDelivery * @package SoColissimo\Loop * @author Thelia */ class SoColissimoAddress extends Address { protected $exists = false; protected $timestampable = false; protected function setExists($id) { $this->exists = AddressSocolissimoQuery::create()->findPK($id) !== null; } public function buildModelCriteria() { $id = $this->getId(); $this->setExists($id[0]); return $this->exists ? AddressSoColissimoQuery::create()->filterById($id[0]) : parent::buildModelCriteria(); } public function parseResults(LoopResult $loopResult) { if (!$this->exists) { return parent::parseResults($loopResult); } else { /** @var \SoColissimo\Model\AddressSocolissimo $address */ foreach ($loopResult->getResultDataCollection() as $address) { $loopResultRow = new LoopResultRow(); $loopResultRow->set("TITLE", $address->getTitleId()) ->set("COMPANY", $address->getCompany()) ->set("FIRSTNAME", $address->getFirstname()) ->set("LASTNAME", $address->getLastname()) ->set("ADDRESS1", $address->getAddress1()) ->set("ADDRESS2", $address->getAddress2()) ->set("ADDRESS3", $address->getAddress3()) ->set("ZIPCODE", $address->getZipcode()) ->set("CITY", $address->getCity()) ->set("COUNTRY", $address->getCountryId()) ->set("CELLPHONE", $address->getCellphone()) ; $loopResult->addRow($loopResultRow); } return $loopResult; } } }