77 lines
1.8 KiB
PHP
77 lines
1.8 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Class AddressBuilder
|
|
*/
|
|
class AddressBuilder extends AbstractBuilder implements RetailcrmBuilderInterface
|
|
{
|
|
/**
|
|
* @var CustomerAddress
|
|
*/
|
|
private $customerAddress;
|
|
|
|
/** @var array $dataCrm customerHistory */
|
|
protected $dataCrm;
|
|
|
|
/**
|
|
* CustomerBuilder constructor.
|
|
*/
|
|
public function __construct()
|
|
{
|
|
$this->customerAddress = new CustomerAddress();
|
|
}
|
|
|
|
/**
|
|
* @param array $dataCrm
|
|
* @return $this|RetailcrmBuilderInterface
|
|
*/
|
|
public function setDataCrm($dataCrm)
|
|
{
|
|
$this->dataCrm = $dataCrm;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param $data
|
|
* @return $this
|
|
*/
|
|
public function setCustomerAddress($data)
|
|
{
|
|
$this->customerAddress = $data;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @return CustomerAddress
|
|
*/
|
|
public function getCustomerAddress()
|
|
{
|
|
return $this->customerAddress;
|
|
}
|
|
|
|
public function build()
|
|
{
|
|
$this->customerAddress->setText($this->getValue('text'))
|
|
->setNotes($this->getValue('notes'))
|
|
->setBuilding($this->getValue('building'))
|
|
->setBlock($this->getValue('block'))
|
|
->setCity($this->getValue('city'))
|
|
->setFlat($this->getValue('flat'))
|
|
->setHouse($this->getValue('house'))
|
|
->setFloor($this->getValue('floor'))
|
|
->setCountry($this->getValue('countryIso'))
|
|
->setIndex($this->getValue('index'))
|
|
->setIntercomCode($this->getValue('intercomCode'))
|
|
->setMetro($this->getValue('metro'))
|
|
->setRegion($this->getValue('region'))
|
|
->setStreet($this->getValue('street'));
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function reset(): void
|
|
{
|
|
$this->customerAddress = new CustomerAddress();
|
|
}
|
|
}
|