function submitReview()
 {
     $post = JRequest::get('post');
     $table = $this->getTable('ReviewCustomers', 'Table');
     $table->bind($post);
     $table->review_date = date("Y-m-d");
     if (!$table->store()) {
         $this->setError($this->_db->getErrorMsg());
         return false;
     }
     $reviewId = $table->review_id;
     $reviewAnswersTbl = $this->getTable('ReviewAnswers', 'Table');
     $reviewQuestions = $this->getReviewQuestions();
     foreach ($reviewQuestions as $reviewQuestion) {
         if (isset($post["question_" . $reviewQuestion->review_question_id])) {
             $reviewAnswersTbl->review_question_id = $reviewQuestion->review_question_id;
             $reviewAnswersTbl->review_id = $reviewId;
             $reviewAnswersTbl->rating_scale_id = $post["question_" . $reviewQuestion->review_question_id];
             if (!$reviewAnswersTbl->store()) {
                 $this->setError($this->_db->getErrorMsg());
                 throw new Exception('Error saving answers' . $this->_db->getErrorMsg());
                 return false;
             }
         }
     }
     $properties = $table->getProperties(1);
     $review = JArrayHelper::toObject($properties, 'JObject');
     $hotelID = $this->getHotelId($table->confirmation_id);
     $this->calculateHotelReview($hotelID);
     $reservationService = new ReservationService();
     $reservationDetails = $reservationService->getReservation($table->confirmation_id);
     $emailService = new EmailService();
     $emailService->sendReviewSubmitedEmail($reservationDetails, $review);
 }