final RabaisEvenement rabaisEvenement = rabaisEvenementService
.findByEvenementCategorieNbCourses(evenement, categorie,
nbCourses);
if (rabaisEvenement != null)
{
final Escompte escompte = new Escompte(rabaisEvenement,
facture, rabaisEvenement.getMontant());
final Double montantParItem = rabaisEvenement.getMontant()
/ nbCourses;
for (final Inscription inscription : inscriptions)
{
FactureItem factureItemRecherche = null;
if (facture != null)
{
for (final FactureItem factureItem : facture
.getFactureItems())
{
if (factureItem.getInscription() != null
&& factureItem.getInscription().equals(
inscription))
{
if (factureItemRecherche != null)
{
throw new HypotheseException(
"Deux FactureItem ont la même "
+ "inscription. ");
}
factureItemRecherche = factureItem;
}
}
if (factureItemRecherche == null)
{
throw new HypotheseException(
"FactureItem de l'inscription non trouvée. ");
}
}
final EscompteItem escompteItem = new EscompteItem(
montantParItem, factureItemRecherche, escompte);
escompte.getEscompteItems().add(escompteItem);
}
escomptes.add(escompte);
}
}