Exemplo n.º 1
0
 /**
  * @param int $userId
  * @param UpdateUserRequest $request
  * @param WebServiceUserSession $session
  * @return UserControllerResult
  */
 public function Update($userId, $request, $session)
 {
     $errors = $this->requestValidator->ValidateUpdateRequest($userId, $request);
     if (!empty($errors)) {
         return new UserControllerResult(null, $errors);
     }
     $userService = $this->serviceFactory->CreateAdmin();
     $extraAttributes = array(UserAttribute::Phone => $request->phone, UserAttribute::Organization => $request->organization, UserAttribute::Position => $request->position);
     $customAttributes = array();
     foreach ($request->GetCustomAttributes() as $attribute) {
         $customAttributes[] = new AttributeValue($attribute->attributeId, $attribute->attributeValue);
     }
     $userService->UpdateUser($userId, $request->userName, $request->emailAddress, $request->firstName, $request->lastName, $request->timezone, $extraAttributes);
     $userService->ChangeAttributes($userId, $customAttributes);
     return new UserControllerResult($userId);
 }