/**
  * @param Review $review
  */
 private function updateRestaurantAverageData(Review $review)
 {
     $restaurant = $review->getRestaurant();
     $averageCost = $this->reviewRepository->getAverageCost($review->getRestaurant());
     $cuisine = $this->cuisineRepository->getMostUsedCuisine($review->getRestaurant());
     $restaurant->setAverageCost($averageCost);
     $restaurant->setCuisine($cuisine);
 }
 /**
  * @param Review $review
  */
 public function deduceMissingFields(Review $review)
 {
     $restaurant = $review->getRestaurant();
     $user = $review->getUser();
     if (null === $user || null === $restaurant) {
         return;
     }
     if (null === $review->getGeoname()) {
         $review->setGeoname($restaurant->getGeoname());
     }
     if (null === $review->getCuisine()) {
         $review->setCuisine($restaurant->getCuisine());
     }
     if (null === $review->getCost()) {
         $review->setCost($restaurant->getAverageCost());
     }
     if (null === $review->getPosition()) {
         $max = $this->reviewRepository->getMaxPosition($user, $review);
         $review->setPosition($max + 1);
     }
 }
 /**
  * @return array
  */
 public function getMeta()
 {
     return array('coordinate' => array($this->review->getRestaurant()->getLng(), $this->review->getRestaurant()->getLat()));
 }