/**
  * Find recommended concerts
  *
  * @param Event $event Event
  * @param User  $user  User
  *
  * @return []
  */
 public function findRecommendedConcerts(Event $event, User $user)
 {
     $eventRepository = $this->entityManager->getRepository('AppBundle:Event');
     $genreRepository = $this->entityManager->getRepository('AppBundle:Genre');
     $groupRepository = $this->entityManager->getRepository('AppBundle:Group');
     $eventGenres = [];
     $eventGroups = [];
     /** @var EventGroup $eventGroup */
     foreach ($event->getEventGroups()->getValues() as $eventGroup) {
         $groupGenres = $eventGroup->getGroup()->getGroupGenres();
         // Get groups from event
         $eventGroups[] = $eventGroup->getGroup();
         /** @var GroupGenre $groupGenre */
         foreach ($groupGenres as $groupGenre) {
             // Get genres from event
             $eventGenres[] = $groupGenre->getGenre();
         }
     }
     // Get user bookmarked genres and groups
     $userBookmarkedGenres = $genreRepository->findGenresByUser($user);
     $userBookmarkedGroups = $groupRepository->findGroupsByUser($user);
     // Combine event genres and groups with user bookmarked genres and groups
     $recommendedGenres = array_merge($userBookmarkedGenres, $eventGenres);
     $recommendedGroups = array_merge($userBookmarkedGroups, $eventGroups);
     $events = $eventRepository->findAllActiveByGenresAndGroupsWithLimit($recommendedGenres, $recommendedGroups, Event::NUMBER);
     foreach ($events as $key => $element) {
         if ($event === $element) {
             unset($events[$key]);
         }
     }
     return $events;
 }