public function addCategoryToTournament($category, $tournament, $controller)
 {
     $categoryEntity = new Category();
     $categoryEntity->setName(isset($category['name']) ? $category['name'] : '');
     $categoryEntity->setBgColor(isset($category['bgColor']) ? $category['bgColor'] : '');
     $categoryEntity->setRegisteredLimitMax(isset($category['registeredLimitMax']) && is_int($category['registeredLimitMax']) ? $category['registeredLimitMax'] : 0);
     $categoryEntity->setRegisteredLimitMin(isset($category['registeredLimitMin']) && is_int($category['registeredLimitMin']) ? $category['registeredLimitMin'] : 0);
     $categoryEntity->setGender(isset($category['gender']) ? $category['gender'] : null);
     $categoryEntity->setTournament($tournament);
     $validator = $controller->get('validator');
     $errors = $validator->validate($categoryEntity);
     if (count($errors) > 0) {
         $errorsString = (string) $errors;
         return array('result' => 'fail', 'message' => $errorsString);
     }
     $this->em->persist($categoryEntity);
     $this->em->flush();
     return array('result' => 'ok', 'message' => $categoryEntity);
 }