public function setCustomerDetails($locale, Customer $customer, $firstName, $lastName, $email) { $client = $this->getClient(); $request = CustomerUpdateRequest::ofIdAndVersion($customer->getId(), $customer->getVersion()); if ($customer->getFirstName() != $firstName || $customer->getLastName() != $lastName) { $request->addAction(CustomerChangeNameAction::ofFirstNameAndLastName($firstName, $lastName)); } if ($customer->getEmail() != $email) { $request->addAction(CustomerChangeEmailAction::ofEmail($email)); } $response = $request->executeWithClient($client); if ($response->isError()) { return null; } $customer = $request->mapFromResponse($response, $this->getMapper($locale)); return $customer; }
public static function ofCustomer(Customer $customer) { $userDetails = new static(); $userDetails->setFirstName($customer->getFirstName()); $userDetails->setLastName($customer->getLastName()); $userDetails->setEmail($customer->getEmail()); return $userDetails; }