public function generateUsername(FirstName $firstName, LastName $lastName, $offset = 1) { $fullNameStr = $firstName->toString() . $lastName->toString(); $modifier = $offset > 1 ? $offset : ''; $username = Username::fromNative(str_slug($fullNameStr . $modifier)); if ($this->userRepository->userOfUsername($username)) { return $this->generateUsername($firstName, $lastName, $offset + 1); } return $username; }
/** * Set the User's last name * * @param LastName $lastName * @return void */ private function setLastName(LastName $lastName) { $this->lastName = $lastName->toString(); }