/**
  * @Given I have a new address with :street :city :region :zip :country
  */
 public function iHaveANewAddressWith($street, $city, $region, $zip, $country)
 {
     $countryId = $this->getCountryId($country);
     $region = $this->loadRegionByName($region, $countryId);
     $address = $this->addressFactory->create()->setStreet((array) $street)->setCity($city)->setPostcode($zip)->setCountryId($countryId)->setRegion($region)->setRegionId($region->getRegionId())->setFirstname($this->customer->getFirstname())->setLastname($this->customer->getLastname())->setTelephone('555-555-5555')->setCustomerId($this->customer->getId());
     $this->customerAddress = $address;
 }
 /**
  * Creates a collection item that represents a customer for the customer Grid.
  *
  * @param CustomerInterface $customer Input data for creating the item.
  * @return \Magento\Framework\Object Collection item that represents a customer
  */
 protected function createCustomerItem(CustomerInterface $customer)
 {
     $customerNameParts = [$customer->getPrefix(), $customer->getFirstname(), $customer->getMiddlename(), $customer->getLastname(), $customer->getSuffix()];
     $customerItem = new \Magento\Framework\Object();
     $customerItem->setId($customer->getId());
     $customerItem->setEntityId($customer->getId());
     // All parts of the customer name must be displayed in the name column of the grid
     $customerItem->setName(implode(' ', array_filter($customerNameParts)));
     $customerItem->setEmail($customer->getEmail());
     $customerItem->setWebsiteId($customer->getWebsiteId());
     $customerItem->setCreatedAt($customer->getCreatedAt());
     $customerItem->setGroupId($customer->getGroupId());
     $billingAddress = null;
     foreach ($customer->getAddresses() as $address) {
         if ($address->isDefaultBilling()) {
             $billingAddress = $address;
             break;
         }
     }
     if ($billingAddress !== null) {
         $customerItem->setBillingTelephone($billingAddress->getTelephone());
         $customerItem->setBillingPostcode($billingAddress->getPostcode());
         $customerItem->setBillingCountryId($billingAddress->getCountryId());
         $region = $billingAddress->getRegion() === null ? '' : $billingAddress->getRegion()->getRegion();
         $customerItem->setBillingRegion($region);
     }
     return $customerItem;
 }
 /**
  * @param CustomerInterface $customer
  * @return \Openpay\Client\Type\OpenpayCustomerType
  * @throws LocalizedException
  */
 public function save(CustomerInterface $customer)
 {
     $params = ['name' => $customer->getFirstname(), 'last_name' => $customer->getLastname(), 'email' => $customer->getEmail(), 'requires_account' => self::CUSTOMER_REQUIRES_ACCOUNT, 'external_id' => $customer->getId()];
     try {
         $openpayCustomer = $this->customerAdapter->store($params);
     } catch (OpenpayException $e) {
         throw new LocalizedException(__($e->getDescription()), $e);
     }
     return $openpayCustomer;
 }
 public function _populateQuoteAddrShipping(\Magento\Quote\Model\Quote $quote, \Magento\Customer\Api\Data\CustomerInterface $customerDo)
 {
     /** @var \Magento\Quote\Model\Quote\Address $addr */
     $addr = $this->_manObj->create(\Magento\Quote\Model\Quote\Address::class);
     $addr->setFirstname($customerDo->getFirstname());
     $addr->setLastname($customerDo->getLastname());
     $addr->setEmail($customerDo->getEmail());
     $addr->setTelephone('23344556');
     $addr->setStreet('Liela iela');
     $addr->setCity('Riga');
     $addr->setRegionId(362);
     // Riga region
     $addr->setPostcode('1010');
     $addr->setCountryId('LV');
     $quote->setShippingAddress($addr);
     return $quote;
 }
Example #5
0
 /**
  * Concatenate all customer name parts into full customer name.
  *
  * @param CustomerInterface $customerData
  * @return string
  */
 public function getCustomerName(CustomerInterface $customerData)
 {
     $name = '';
     $prefixMetadata = $this->_customerMetadataService->getAttributeMetadata('prefix');
     if ($prefixMetadata->isVisible() && $customerData->getPrefix()) {
         $name .= $customerData->getPrefix() . ' ';
     }
     $name .= $customerData->getFirstname();
     $middleNameMetadata = $this->_customerMetadataService->getAttributeMetadata('middlename');
     if ($middleNameMetadata->isVisible() && $customerData->getMiddlename()) {
         $name .= ' ' . $customerData->getMiddlename();
     }
     $name .= ' ' . $customerData->getLastname();
     $suffixMetadata = $this->_customerMetadataService->getAttributeMetadata('suffix');
     if ($suffixMetadata->isVisible() && $customerData->getSuffix()) {
         $name .= ' ' . $customerData->getSuffix();
     }
     return $name;
 }
 /**
  * Validate customer attribute values.
  *
  * @param \Magento\Customer\Api\Data\CustomerInterface $customer
  * @throws InputException
  * @return void
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  * @SuppressWarnings(PHPMD.NPathComplexity)
  */
 private function validate(\Magento\Customer\Api\Data\CustomerInterface $customer)
 {
     $exception = new InputException();
     if (!\Zend_Validate::is(trim($customer->getFirstname()), 'NotEmpty')) {
         $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'firstname']));
     }
     if (!\Zend_Validate::is(trim($customer->getLastname()), 'NotEmpty')) {
         $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'lastname']));
     }
     $isEmailAddress = \Zend_Validate::is($customer->getEmail(), 'EmailAddress');
     if (!$isEmailAddress) {
         $exception->addError(__(InputException::INVALID_FIELD_VALUE, ['fieldName' => 'email', 'value' => $customer->getEmail()]));
     }
     $dob = $this->getAttributeMetadata('dob');
     if ($dob !== null && $dob->isRequired() && '' == trim($customer->getDob())) {
         $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'dob']));
     }
     $taxvat = $this->getAttributeMetadata('taxvat');
     if ($taxvat !== null && $taxvat->isRequired() && '' == trim($customer->getTaxvat())) {
         $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'taxvat']));
     }
     $gender = $this->getAttributeMetadata('gender');
     if ($gender !== null && $gender->isRequired() && '' == trim($customer->getGender())) {
         $exception->addError(__(InputException::REQUIRED_FIELD, ['fieldName' => 'gender']));
     }
     if ($exception->wasErrorAdded()) {
         throw $exception;
     }
 }