package controleur;
import Metier.Armoire;
import Metier.ArmoireService;
import Metier.Etagere;
import Metier.EtagereService;
import Metier.StructureBibliotheque;
import Metier.StructureBibliothequeService;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class AddArmoire extends HttpServlet {
public static final String VUE_GESTION_ARMOIRE = "/privateAcces/Armoire.jsp";
public static final String VUE_EDITION_ETAGERE = "/privateAcces/EditEtagere.jsp";
public static final String CHAMP_NOM = "nom";
public static final String CHAMP_NBETAGERE = "nbEtagere";
public static final String CHAMP_STRUCTURE = "structure";
public static final String ATT_RESULTAT = "resultat";
private String nom = "";
private int nbEtagere;
private StructureBibliotheque structureBibliotheque;
StructureBibliothequeService structureBibliothequeService;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.nom = request.getParameter(this.CHAMP_NOM);
this.nbEtagere = Integer.parseInt(request.getParameter(this.CHAMP_NBETAGERE));
this.structureBibliothequeService = Metier.MetierFactory.getStructureService();
this.structureBibliotheque = structureBibliothequeService.getByNom(request.getParameter(CHAMP_STRUCTURE));
request.setAttribute("nbEtagere", this.nbEtagere);
this.getServletContext().getRequestDispatcher(this.VUE_EDITION_ETAGERE).forward( request, response );
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Armoire armoire = new Armoire(this.nom);
ArrayList<Etagere> listEtagere = new ArrayList<>();
EtagereService etagereService = Metier.MetierFactory.getEtagereService();
for(int i=1; i<this.nbEtagere+1; i++){
Etagere etagere = new Etagere(Integer.parseInt(request.getParameter("profondeur"+i)),
Integer.parseInt(request.getParameter("hauteur"+i)));
etagere.setNumero(i);
etagere.setNbLivreMax(Integer.parseInt(request.getParameter("nbLivreEtagere"+i)));
etagereService.add(etagere);
listEtagere.add(etagere);
}
armoire.setEtageres(listEtagere);
ArmoireService armoireService = Metier.MetierFactory.getArmoireService();
armoireService.add(armoire);
ArrayList<Metier.Armoire> listArmoires = this.structureBibliotheque.getArmoires();
if(listArmoires == null) {
listArmoires = new ArrayList<>();
}
listArmoires.add(armoire);
this.structureBibliotheque.setArmoires(listArmoires);
this.structureBibliothequeService.update(this.structureBibliotheque);
String resultat = "<div class=\"alert alert-success alert-dismissable\">\n" +
" <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-hidden=\"true\">×</button>\n" +
" L'armoire \"<strong>" + armoire.getCharArmoire() + "</strong>\" à été ajoutée\n" +
"</div>";
request.setAttribute(this.ATT_RESULTAT, resultat);
this.getServletContext().getRequestDispatcher(this.VUE_GESTION_ARMOIRE).forward( request, response );
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}