brigate/src/servlet/OrdiniServlet.java

101 lines
3.1 KiB
Java
Raw Normal View History

2020-04-24 16:44:53 +02:00
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();
2020-04-27 18:47:09 +02:00
System.out.println("Passati: " + ChronoUnit.DAYS.between(LocalDate.now(), ultimaConsegna));
if (ultimaConsegna == null || ChronoUnit.DAYS.between(ultimaConsegna, LocalDate.now()) >= 5) {
2020-04-24 16:44:53 +02:00
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");
2020-04-27 18:47:09 +02:00
request.getRequestDispatcher("home-contatto.jsp?id="+numero).forward(request, response);
2020-04-24 16:44:53 +02:00
}
} 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);
}
}
}