Example #1
0
 /**
  * Add address to customer during create account
  *
  * @return \Magento\Customer\Service\V1\Data\Address|null
  */
 protected function _extractAddress()
 {
     if (!$this->getRequest()->getPost('create_address')) {
         return null;
     }
     $addressForm = $this->_formFactory->create('customer_address', 'customer_register_address');
     $allowedAttributes = $addressForm->getAllowedAttributes();
     $addressData = array();
     foreach ($allowedAttributes as $attribute) {
         $attributeCode = $attribute->getAttributeCode();
         $value = $this->getRequest()->getParam($attributeCode);
         if (is_null($value)) {
             continue;
         }
         switch ($attributeCode) {
             case 'region_id':
                 $this->_regionBuilder->setRegionId($value);
                 break;
             case 'region':
                 $this->_regionBuilder->setRegion($value);
                 break;
             default:
                 $addressData[$attributeCode] = $value;
         }
     }
     $this->_addressBuilder->populateWithArray($addressData);
     $this->_addressBuilder->setRegion($this->_regionBuilder->create());
     $this->_addressBuilder->setDefaultBilling($this->getRequest()->getParam('default_billing', false))->setDefaultShipping($this->getRequest()->getParam('default_shipping', false));
     return $this->_addressBuilder->create();
 }
Example #2
0
 /**
  * Map Address to Address data object
  *
  * @param AddressBuilder $addressBuilder
  * @param Address $address
  * @return \Magento\Customer\Service\V1\Data\Address
  */
 public function mapAddress(AddressBuilder $addressBuilder, Address $address)
 {
     $addressBuilder->setCountryId($address->getCountryId());
     $addressBuilder->setRegion($addressBuilder->getRegionBuilder()->setRegionId($address->getRegionId())->create());
     $addressBuilder->setPostcode($address->getPostcode());
     $addressBuilder->setCity($address->getCity());
     $addressBuilder->setStreet($address->getStreet());
     return $addressBuilder->create();
 }
Example #3
0
 /**
  * @param AddressBuilder $addressBuilder
  */
 private function _fillMinimumRequiredFields(AddressBuilder $addressBuilder)
 {
     $addressBuilder->setFirstname($this->_expectedValues['firstname']);
     $addressBuilder->setLastname($this->_expectedValues['lastname']);
     $addressBuilder->setStreet($this->_expectedValues['street']);
     $addressBuilder->setCity($this->_expectedValues['city']);
     $addressBuilder->setCountryId($this->_expectedValues['country_id']);
     $addressBuilder->setRegion($this->objectManagerHelper->getObject('\\Magento\\Customer\\Service\\V1\\Data\\RegionBuilder')->setRegionId($this->_expectedValues['region']['region_id'])->setRegion($this->_expectedValues['region']['region'])->create());
     $addressBuilder->setPostcode($this->_expectedValues['postcode']);
     $addressBuilder->setTelephone($this->_expectedValues['telephone']);
 }