package servlet; import java.io.IOException; import java.time.LocalDate; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import bean.Contatto; import service.ContattoService; import service.OrdiniService; /** * Servlet implementation class OrdiniServlet */ @WebServlet("/ordini-ctrl") public class OrdiniServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public OrdiniServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse * response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String azione = request.getParameter("azione"); if (azione.equals("aggiungi")) { Long numero = Long.parseLong(request.getParameter("numero")); Contatto contatto = ContattoService.cercaPerNumero(numero); if (contatto != null) { LocalDate ultimaConsegna = contatto.getUltima_consegna(); System.out.println("Passati: " + ChronoUnit.DAYS.between(LocalDate.now(), ultimaConsegna)); if (ultimaConsegna == null || ChronoUnit.DAYS.between(ultimaConsegna, LocalDate.now()) >= 5) { boolean ok = OrdiniService.aggiungi(numero); if (ok) { response.sendRedirect("elenco-ordini.jsp"); } else { request.setAttribute("messaggio", "Impossibile aggiungere l'ordine"); request.getRequestDispatcher("error.jsp").forward(request, response); } } else { request.setAttribute("messaggio", "Impossibile aggiungere l'ordine, sono passati meno di 5 gioni"); request.getRequestDispatcher("home-contatto.jsp?id="+numero).forward(request, response); } } else { request.setAttribute("messaggio", "Impossibile aggiungere l'ordine, contatto inesistente"); request.getRequestDispatcher("error.jsp").forward(request, response); } } else if (azione.equals("elimina")) { long telefono = Long.parseLong(request.getParameter("id")); boolean ok = OrdiniService.rimuovi(telefono); if (ok) { ContattoService.consegnatoIl(telefono, LocalDate.now()); response.sendRedirect("elenco-ordini.jsp"); } else { response.sendRedirect("error.jsp"); } } else if (azione.equals("selectTop")) { int limite = Integer.parseInt(request.getParameter("limite")); System.out.println(limite); request.setAttribute("limit", limite); request.getRequestDispatcher("elenco-ordini.jsp").forward(request, response); } } }