{
throw new BaseValidationException("Impossible de créer la facture "
+ "car le panier d'achat est vide");
}
final Facture facture = new Facture();
facture.setPersonne(personne);
facture.setPaye(false);
facture.setCreation(new Date());
facture.setSoustotal(cart.getSousTotal());
facture.setEscompte(cart.getEscompte());
facture.setTotal(cart.getTotal());
save(facture);
for (final CartItem item : cart.getItems())
{
if (item instanceof CartItemInscription)
{
final CartItemInscription cartItemInscription = (CartItemInscription) item;
cartItemInscription.getInscription().setPrix(
cartItemInscription.getPrix());
inscriptionService.save(cartItemInscription.getInscription());
facture.getFactureItems().add(
factureItemService.createFactureItem(facture,
cartItemInscription.getInscription(),
cartItemInscription.getPrix()));
}
else
{
final CartItemArticle cartItemArticle = (CartItemArticle) item;
final Article article = cartItemArticle.getArticle();
article.setPrix(item.getPrixUnitaire());
article.setQuantite(item.getQuantite());
articleService.save(article);
facture.getFactureItems().add(
factureItemService.createFactureItem(facture, article,
cartItemArticle.getPrix()));
}
}