public function actionView($userId)
 {
     Yii::beginProfile('specialist_view');
     $session = Yii::app()->session;
     $specialist = SpecialistProfileApi::getSpecialistDetails($userId);
     if (!$specialist) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     $specialistInfo = UserApi::getUserProfileDetails($specialist->user_id);
     $specialistAddress = DbUtils::getAddress($specialist->city_id);
     $specialistTypes = SpecialistTypeApi::getSpecialistTypeByUserId($specialist->user_id);
     $specialistProjects = SpecialistApi::getSpecialistProjectsByUserId($specialist->user_id);
     $specialistRatingReadOnly = SpecialistRatingApi::isRated($specialist->id, Yii::app()->user->id);
     $specialistRating = SpecialistRatingApi::getRating($specialist->user_id);
     $specialistLocations = UserSpecialistLocationsApi::getLocations($specialist->id);
     $specialistPropertyLocations = "";
     if ($specialistLocations) {
         foreach ($specialistLocations as $specialistLocation) {
             $specialistPropertyLocations[] = DbUtils::getAddress($specialistLocation->city_id);
         }
     }
     if (!$specialistRatingReadOnly) {
         if ($specialist->user_id == Yii::app()->user->id) {
             $specialistRatingReadOnly = true;
         } else {
             $specialistRatingReadOnly = false;
         }
     } else {
         $specialistRatingReadOnly = true;
     }
     $this->render('view', array('specialist' => $specialist, 'specialistInfo' => $specialistInfo, 'specialistAddress' => $specialistAddress, 'specialistTypes' => $specialistTypes, 'specialistProjects' => $specialistProjects, 'specialistRatingReadOnly' => $specialistRatingReadOnly, 'specialistRating' => $specialistRating, 'specialistPropertyLocations' => $specialistPropertyLocations));
     Yii::endProfile('specialist_view');
 }