Ejemplo n.º 1
0
 public function getParameters() : EditPersonalParameters
 {
     $data = $this->getData();
     $parameters = new EditPersonalParameters($data['method'], $data['avatar'] ?? false, $data['first_name'], $data['last_name'], $data['middle_name'], $data['nick_name']);
     if (isset($data->gender) && is_string($data->gender)) {
         $parameters->specifyGender($data->gender);
     }
     return $parameters;
 }
Ejemplo n.º 2
0
 public function updatePersonalData(int $profileId, EditPersonalParameters $parameters) : Profile
 {
     $profile = $this->getProfileById($profileId);
     $profile->setGreetings(Greetings::createFromMethod($parameters->getMethod(), ['first_name' => $parameters->getFirstName(), 'last_name' => $parameters->getLastName(), 'middle_name' => $parameters->getMiddleName(), 'nick_name' => $parameters->getNickName()]));
     if ($parameters->isGenderSpecified()) {
         $profile->setGender(Gender::createFromStringCode($parameters->getGender()));
     }
     if ($parameters->isAvatarRegenetateRequested()) {
         $this->avatarService->generateImage(new ProfileImageStrategy($profile, $this->imagesFlySystem, $this->wwwImagesDir));
     }
     $this->profileRepository->saveProfile($profile);
     $this->getEventEmitter()->emit(self::EVENT_PROFILE_UPDATED, [$profile]);
     return $profile;
 }