@Override
public void save(final RabaisEvenement rabaisEvenement)
{
Validate.argNotNull(rabaisEvenement, "rabaisEvenement");
final Evenement evenement = evenementService.find(rabaisEvenement
.getEvenement().getId());
Validate.argNotNull(evenement, "rabaisEvenement.evenement");
final Categorie categorie = rabaisEvenement.getCategorie();
Validate.argNotNull(categorie, "rabaisEvenement.categorie");
final CategorieParticipante categorieParticipante = categorieParticipanteService
.getCategorieParticipante(evenement.getSaison(), categorie);
if (categorieParticipante == null)
{
throw new CategorieException(
"La catégorie ne participe pas à la saison. ");
}
ServiceUtils.validateUniqueAndDetach(rabaisEvenement,
findByEvenementCategorieNbCourses(evenement, categorie,
rabaisEvenement.getNbCourses()), getGenericDao());
Validate.argInBounds(rabaisEvenement.getNbCourses(), 2, evenement
.getCourses().size(), "rabaisEvenement.nbCourses");
if (rabaisEvenement.getMontant() <= 0.0)
{
throw new IllegalArgumentException(