1
0
mirror of synced 2024-11-25 23:06:08 +03:00
bitrix-module/intaro.retailcrm/classes/general/AddressBuilder.php
Neur0toxine 09f82bcfdf
Customer change
* remove useless request for history
* append new address to corporate customer
* centralized configuration provider
* use companyName filter in event & pass companyName into order
* add AdressBuilder* fixed for regressions
* fixed double contact problem
2020-07-14 13:47:26 +03:00

71 lines
1.7 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;
}
}