/** * Get billing address request data * * @param \Magento\Framework\Object $address * @return array */ protected function _getBillingAddress(\Magento\Framework\Object $address) { $request = array('billing_first_name' => $address->getFirstname(), 'billing_last_name' => $address->getLastname(), 'billing_city' => $address->getCity(), 'billing_state' => $address->getRegionCode() ? $address->getRegionCode() : $address->getCity(), 'billing_zip' => $address->getPostcode(), 'billing_country' => $address->getCountry()); // convert streets to tow lines format $street = $this->_customerAddress->convertStreetLines($address->getStreet(), 2); $request['billing_address1'] = isset($street[0]) ? $street[0] : ''; $request['billing_address2'] = isset($street[1]) ? $street[1] : ''; return $request; }
/** * Export streets from address data * * @param DataObject $address * @return array */ protected function getAddressStreets(DataObject $address) { $street1 = ''; $street2 = ''; $data = $this->customerAddress->convertStreetLines($address->getStreet(), 2); if (!empty($data[0])) { $street1 = $data[0]; } if (!empty($data[1])) { $street2 = $data[1]; } return [$street1, $street2]; }
/** * Street address workaround: divides address lines into parts by specified keys * (keys should go as 3rd, 4th[...] parameters) * * @param \Magento\Framework\Object $address * @param array $to * @return void */ protected function _importStreetFromAddress(\Magento\Framework\Object $address, array &$to) { $keys = func_get_args(); array_shift($keys); array_shift($keys); $street = $address->getStreet(); if (!$keys || !$street || !is_array($street)) { return; } $street = $this->_customerAddress->convertStreetLines($address->getStreet(), count($keys)); $i = 0; foreach ($keys as $key) { $to[$key] = isset($street[$i]) ? $street[$i] : ''; $i++; } }
/** * @param $origStreets * @param $toCount * @param $result * @dataProvider getConvertStreetLinesDataProvider */ public function testConvertStreetLines($origStreets, $toCount, $result) { $this->assertEquals($result, $this->helper->convertStreetLines($origStreets, $toCount)); }