Ejemplo n.º 1
0
 /**
  * @param \Generated\Shared\Transfer\AddressTransfer $addressTransfer
  *
  * @throws \Exception
  *
  * @return \Generated\Shared\Transfer\CustomerTransfer
  */
 public function createAddressAndUpdateCustomerDefaultAddresses(AddressTransfer $addressTransfer)
 {
     $connection = $this->queryContainer->getConnection();
     $connection->beginTransaction();
     try {
         $customerEntity = $this->getCustomerFromAddressTransfer($addressTransfer);
         $addressEntity = $this->createCustomerAddress($addressTransfer, $customerEntity);
         $addressTransfer->setIdCustomerAddress($addressEntity->getIdCustomerAddress());
         $this->updateCustomerDefaultAddresses($addressTransfer, $customerEntity);
         $connection->commit();
     } catch (\Exception $e) {
         $connection->rollBack();
         throw $e;
     }
     $customerTransfer = $this->entityToCustomerTransfer($customerEntity);
     $customerTransfer->setAddresses($this->getAddresses($customerTransfer));
     return $customerTransfer;
 }