Example #1
0
 /**
  * @param CustomerInterface $entity
  * @param array $arguments
  * @return CustomerInterface
  * @throws \Exception
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function execute($entity, $arguments = [])
 {
     $newAddresses = [];
     foreach ($entity->getAddresses() as $address) {
         $address->setCustomerId($entity->getId());
         $newAddresses[] = $this->entityManager->save($address);
     }
     $entity->setAddresses($newAddresses);
     return $entity;
 }
 /**
  * {@inheritdoc}
  */
 public function validate(CustomerInterface $customer)
 {
     $validationResults = $this->validationResultsDataFactory->create();
     $oldAddresses = $customer->getAddresses();
     $customerModel = $this->customerFactory->create()->updateData($customer->setAddresses([]));
     $customer->setAddresses($oldAddresses);
     $result = $this->getEavValidator()->isValid($customerModel);
     if ($result === false && is_array($this->getEavValidator()->getMessages())) {
         return $validationResults->setIsValid(false)->setMessages(call_user_func_array('array_merge', $this->getEavValidator()->getMessages()));
     }
     return $validationResults->setIsValid(true)->setMessages([]);
 }
Example #3
0
 /**
  * Define customer object
  *
  * @param \Magento\Customer\Api\Data\CustomerInterface $customer
  * @return $this
  */
 public function setCustomer(\Magento\Customer\Api\Data\CustomerInterface $customer = null)
 {
     /* @TODO: Remove the method after all external usages are refactored in MAGETWO-19930 */
     $this->_customer = $customer;
     $this->setCustomerId($customer->getId());
     $origAddresses = $customer->getAddresses();
     $customer->setAddresses([]);
     $customerDataFlatArray = $this->objectFactory->create($this->extensibleDataObjectConverter->toFlatArray($customer, [], '\\Magento\\Customer\\Api\\Data\\CustomerInterface'));
     $customer->setAddresses($origAddresses);
     $this->_objectCopyService->copyFieldsetToTarget('customer_account', 'to_quote', $customerDataFlatArray, $this);
     return $this;
 }
Example #4
-1
 /**
  * @param CustomerInterface $entity
  * @return CustomerInterface
  * @throws \Exception
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function execute($entity, $arguments = [])
 {
     $searchCriteria = $this->searchCriteriaBuilder->addFilter('parent_id', $entity->getId())->create();
     $addressesResult = $this->addressRepository->getList($searchCriteria);
     $entity->setAddresses($addressesResult->getItems());
     return $entity;
 }