public static function getLocations($specialistId)
 {
     $criteria = new CDbCriteria();
     $criteria->condition = 'specialist_id=:specialist_id';
     $criteria->params = array(':specialist_id' => $specialistId);
     $result = UserSpecialistLocations::model()->findAll($criteria);
     if ($result) {
         return $result;
     } else {
         false;
     }
 }
 public function actionCreate()
 {
     Yii::beginProfile('specialist_create');
     $userId = Yii::app()->user->id;
     $model = SpecialistProfileApi::getSpecialistDetails($userId);
     if ($model) {
         $this->redirect('/specialist/' . $userId);
     }
     $model = new UserSpecialistProfile();
     $modelState = new GeoState();
     $modelCity = new UserSpecialistLocations();
     $model_data = UserApi::getUser($userId);
     $specialistType = new UserSpecialistType();
     $specialists = "";
     $this->performAjaxValidation($model);
     if (isset($_POST['ajax']) && $_POST['ajax'] === 'specialist-form') {
         echo CActiveForm::validate($model);
         Yii::app()->end();
     }
     if (isset($_POST['submit'])) {
         $model->attributes = $_POST['UserSpecialistProfile'];
         $specialists = isset($_POST['specialist_type_id']) ? $_POST['specialist_type_id'] : null;
         $valid = true;
         $model->user_id = $userId;
         $valid = $valid && $model->validate();
         if ($specialists == null) {
             $specialistType->addError('specialist_type_id', 'Specialist Type cannot be blank.');
             $valid = false;
         }
         if (!isset($_POST['city_id'])) {
             $modelCity->addError('city_id', 'City cannot be blank.');
             $valid = false;
         }
         if ($valid) {
             $data = $_POST['UserSpecialistProfile'];
             $imagePath = ImageUtils::uploadImage($model, 'image');
             if ($imagePath) {
                 $image = SpecialistApi::addImage($userId, $imagePath);
                 if ($image) {
                     $data['image'] = $image;
                     $specialist = SpecialistProfileApi::createSpecialistProfile($userId, $data);
                     $specialists = SpecialistTypeApi::createSpecialistTypes($userId, $_POST['specialist_type_id']);
                     $locations = UserSpecialistLocationsApi::createLocations($specialist->id, $_POST['city_id']);
                     ImageUtils::deleteImage($imagePath);
                     if ($specialist) {
                         $data = array();
                         $user = UserApi::getUserById(Yii::app()->user->id);
                         $user ? $data["user"] = $user->id : null;
                         $data["specialist"] = $specialist->id;
                         EmailApi::sendEmail($user->email_id, "ACTIVITY.SPECIALIST.CREATE", $data);
                         Yii::app()->user->setFlash('success', 'You are Successfully created Specialist Profile.');
                         $this->redirect('/specialist/' . $userId);
                     }
                 }
             }
         }
     }
     $model->mobile = $model_data['mobile'];
     $model->telephone = $model_data['telephone'];
     $model->email = $model_data['email_id'];
     $this->render('create', array('model' => $model, 'modelState' => $modelState, 'modelCity' => $modelCity, 'specialistType' => $specialistType, 'specialists' => $specialists));
     Yii::endProfile('specialist_create');
 }