//Si on a une actionQte => Ajouter ou retirer une quantité d'un produit
// Sinon suppression du produit
//On le crée pas si il n'existe pas
Panier panier = (Panier)req.getSession(true).getAttribute("panier");
/*if(panier == null){
req.setAttribute(Message.MESSAGE_ERREUR, Message.PANIER_INEXISTANT);
return erreur;
}*/
HashMap<String,Integer> qteEnStocks = new HashMap<String,Integer>();
// Calcul des quantités ...
//if(actionQte != null || actionValidation != null){
// On récupére les quantités en stock pour chaque produit
try{
Iterator it = panier.getProduits().keySet().iterator();
while(it.hasNext()){
String idP = (String)it.next();
int qteEnStock = mp.getQuantiteEnStock(idP);
qteEnStocks.put(idP,qteEnStock);
}
// On met la map dans la requête
session.setAttribute("stocks", qteEnStocks);
}catch(MetierException me){
System.out.println("Impossible de récupérer la quantité en stock");
}
//}
// On ajoute le produit au panier si on a un id de produit
if(actionQte != null){ // Modification de la quantité
if(actionQte.equals(Message.PLUS)){
panier.ajouterQuantite(idProduit);
}else if(actionQte.equals(Message.MOINS)){
panier.diminuerQuantite(idProduit);
}else if(actionQte.equals(Message.DEL)){ // Suppression du produit
panier.retirerProduit(idProduit);
}
}else if(actionValidation != null){ // Validation du panier
IMetierCommandes mcom = (IMetierCommandes)req.getSession().getServletContext().getAttribute("metierCommandes");
//MetierCommandes mcom = new MetierCommandes();
Client client = (Client)session.getAttribute("client");
if(client == null){
// Le client n'est pas identifié, aller à la page de login
req.setAttribute(Message.ACTION_VALIDATION, Message.VALIDATION);
return suiteSiNonLogue;
}
if(actionValidation.equals(Message.VALIDATION)){
// Récapitulatif de la réservation => Calcul du délai de livraison
//Commande c = new Commande();
int numCmd = client.getLesCommandes().size()+1;
String idCommande = client.getId()+numCmd;
java.util.Date today = new java.util.Date();
Commande c = new Commande(idCommande,client.getId(),new Date(today.getTime()));
Iterator itProduits = panier.getProduits().keySet().iterator();
while(itProduits.hasNext()){
String idP = (String)itProduits.next();
//Produit p = (Produit)panier.getProduit(idP);
int qte = panier.getQuantite(idP);
c.ajouterProduit(idP, qte);
}
// On fixe le montant du panier
c.setPrixTotal(panier.getMontant());
session.setAttribute("commande", c);
try{
req.setAttribute(Message.ACTION_VALIDATION, Message.AFF_VALIDATION);
int delaiPrevu = mcom.getDelai(c);