Пример #1
0
 protected function setAddresses(Customer $object, array $data, $format = null, array $context = array())
 {
     if (!empty($data['contact']['addresses'])) {
         $data['addresses'] = $data['contact']['addresses'];
         /** @var \Doctrine\Common\Collections\Collection $addresses */
         $addresses = $this->denormalizeObject($data, 'addresses', MagentoConnectorInterface::CUSTOMER_ADDRESSES_TYPE, $format, $context);
         // TODO Should be fixed during CRM-1185
         $originIds = array();
         foreach ($data['addresses'] as $key => $address) {
             if (!empty($address['customerAddressId'])) {
                 $originIds[$key] = $address['customerAddressId'];
             }
         }
         if (!empty($addresses)) {
             $contact = $object->getContact();
             /** @var Address $address */
             foreach ($addresses as $key => $address) {
                 if (!empty($originIds[$key])) {
                     $address->setOriginId($originIds[$key]);
                 }
                 if ($contactPhone = $address->getContactPhone()) {
                     $contactPhone->setOwner($contact);
                 }
             }
             $object->resetAddresses($addresses);
         }
     }
 }