Exemplo n.º 1
0
 /**
  * creates the shipping address which belongs to the order and
  * saves it as the new last used address
  *
  * @param array $data
  * @return \Shopware\Models\Order\Shipping
  */
 private function createShippingAddress($data)
 {
     if ($data['shippingAddressId']) {
         /** @var Shopware\Models\Customer\Shipping $addressHolderModel */
         $addressHolderModel = Shopware()->Models()->find('Shopware\\Models\\Customer\\Shipping', $data['shippingAddressId']);
     } else {
         /** @var Shopware\Models\Customer\Billing $shippingAddressHolder */
         $addressHolderModel = Shopware()->Models()->find('Shopware\\Models\\Customer\\Billing', $data['billingAddressId']);
         $this->equalBillingAddress = true;
     }
     $shippingOrderModel = new Shopware\Models\Order\Shipping();
     $shippingOrderModel->setCity($addressHolderModel->getCity());
     $shippingOrderModel->setStreet($addressHolderModel->getStreet());
     $shippingOrderModel->setSalutation($addressHolderModel->getSalutation());
     $shippingOrderModel->setZipCode($addressHolderModel->getZipCode());
     $shippingOrderModel->setFirstName($addressHolderModel->getFirstName());
     $shippingOrderModel->setLastName($addressHolderModel->getLastName());
     $shippingOrderModel->setAdditionalAddressLine1($addressHolderModel->getAdditionalAddressLine1());
     $shippingOrderModel->setAdditionalAddressLine2($addressHolderModel->getAdditionalAddressLine2());
     $shippingOrderModel->setCompany($addressHolderModel->getCompany());
     $shippingOrderModel->setDepartment($addressHolderModel->getDepartment());
     $shippingOrderModel->setCustomer($addressHolderModel->getCustomer());
     if ($addressHolderModel->getCountryId()) {
         /** @var Shopware\Models\Country\Country $countryModel */
         $countryModel = Shopware()->Models()->find('Shopware\\Models\\Country\\Country', $addressHolderModel->getCountryId());
         $shippingOrderModel->setCountry($countryModel);
     }
     if ($addressHolderModel->getStateId()) {
         /** @var Shopware\Models\Country\State $stateModel */
         $stateModel = Shopware()->Models()->find('Shopware\\Models\\Country\\State', $addressHolderModel->getStateId());
         $shippingOrderModel->setState($stateModel);
     }
     return $shippingOrderModel;
 }