1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
package Controleur;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
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 javax.servlet.http.HttpSession;
import dbManager.DatabaseManager;
import entities.Article;
import entities.Category;
/**
* Servlet implementation class ArticleServlet
*/
@WebServlet("/ArticleServlet")
public class ArticleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
String action = request.getParameter("action");
String id = request.getParameter("category");
String forward = "show-article.jsp";
List<Article> articles = new ArrayList<Article>();
List<Category> categories = new ArrayList<Category>();
int totalItems = 0;
int totalPrice = 0;
/*if(action.equals("list"))
{*/
if(id != null)
{
articles = DatabaseManager.getAllArticles(Integer.parseInt(id));
}
categories = DatabaseManager.getAllCategories();
request.setAttribute("category", categories);
request.setAttribute("articles", articles);
request.setAttribute("categoryId", id);
/*}
else */if(action != null && action.equals("add"))
{
String articleId = request.getParameter("articleId");
String nameArticle = request.getParameter("nameArticle");
String description = request.getParameter("description");
String price = request.getParameter("price");
String quantity = request.getParameter("quantity");
session.setAttribute("name"+articleId, nameArticle);
session.setAttribute("description"+articleId, description);
session.setAttribute("price"+articleId, price);
session.setAttribute("quantity"+articleId, quantity);
if(session.getAttribute("totalItems") == null)
{
session.setAttribute("totalItems", ++totalItems);
}
else
{
totalItems = Integer.parseInt(session.getAttribute("totalItems").toString());
++totalItems;
session.setAttribute("totalItems", totalItems);
}
if(session.getAttribute("totalPrice") == null)
{
session.setAttribute("totalPrice",""+(Integer.parseInt(price)*Integer.parseInt(quantity)));
}
else
{
totalPrice = Integer.parseInt(session.getAttribute("totalPrice").toString());
totalPrice = Integer.parseInt(price)*Integer.parseInt(quantity)+totalPrice;
session.setAttribute("totalPrice", totalPrice);
}
request.setAttribute("msg", nameArticle+" Added to Cart");
}
else if(action != null && action.equals("list"))
{
List<Article> cartList = new ArrayList<Article>();
for(int i=0; i<articles.size(); i++)
{
Article article = articles.get(i);
if(session.getAttribute("name"+article.getIdArticle()) != null)
{
article.setQuantity(Integer.parseInt(session.getAttribute("quantity"+article.getIdArticle()).toString()));
cartList.add(article);
}
}
request.setAttribute("cartList", cartList);
forward="cart-list.jsp";
}
else if( action != null && action.equals("cancel"))
{
session.invalidate();
session.setMaxInactiveInterval(-1);
}
RequestDispatcher view = request.getRequestDispatcher(forward);
view.forward(request, response);
}
} |
Partager