package actions;
import interfaces.catalogue.IMetierCatalogue;
import interfaces.clients.IMetierClients;
import interfaces.exceptions.MetierException;
import java.util.ArrayList;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import base.Produit;
//import metier.catalogue.MetierCatalogue;
import ressources.Message;
import ressources.Panier;
public class MenuAction implements Action {
private String suite,erreur;
public MenuAction(String suite,String erreur){
this.suite = suite;
this.erreur = erreur;
}
/**
*
*/
public String execute(HttpServletRequest req) throws Exception {
IMetierCatalogue mc = (IMetierCatalogue)req.getSession().getServletContext().getAttribute("metierCatalogue");
String libCategorie = req.getParameter("libCategorie");
//MetierCatalogue mc = new MetierCatalogue();
ArrayList<Produit> catalogue = null;
// On marque le passage par cet action
req.setAttribute("prec", "menu");
String idProduit = req.getParameter("idProduit");
String qteStr = req.getParameter("qte");
// On récupére la liste des catégories
ArrayList<String> categories = null;
categories = (ArrayList<String>)req.getSession().getServletContext().getAttribute("categories");
if(categories == null){
try{
System.out.println("Recuperation des catégories");
categories = mc.getListeCategories();
System.out.println("Categ recuperées");
req.getSession().getServletContext().setAttribute("categories",categories);
//req.setAttribute("categories", categories);
}catch(MetierException me){
me.printStackTrace();
req.setAttribute(Message.MESSAGE_ERREUR, Message.PAS_DE_CATEGORIES);
return erreur;
}
}
// On ajoute le produit au panier si on a un id de produit
if(idProduit != null && qteStr != null){
try{
Produit p = mc.rechercherProduit(idProduit);
Panier panier = (Panier)req.getSession(true).getAttribute("panier");
int qte = Integer.parseInt(qteStr);
panier.ajouterProduit(p, qte);
}catch(MetierException me){
me.printStackTrace();
req.setAttribute(Message.MESSAGE_ERREUR, Message.PROBLEME_PANIER);
return erreur;
}
}
//System.out.println("Libellé = "+libCategorie);
//if(libCategorie == null){
//On demande la liste des produits compléte
try{
System.out.println("Recuperation du catalogue");
catalogue = mc.listerCatalogue(libCategorie);
System.out.println("Catalogue recupérée");
System.out.println("Catalogue = "+catalogue);
req.setAttribute("catalogue", catalogue);
}catch(Exception me){
me.printStackTrace();
req.setAttribute(Message.MESSAGE_ERREUR, Message.CATALOGUE_INDISPO);
return erreur;
}
/*}else{ // Lister les produits d'une catégorie
}*/
return suite;
}
}