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