package oss.ngocminh.lego.service;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import oss.ngocminh.lego.data.Entity;
/**
* Servlet implementation class CartUpdate
*/
public class CartUpdate extends AbstractController {
private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public CartUpdate() {
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Entity> orders = (List<Entity>) request.getSession().getAttribute("orders");
String action = request.getParameter("action");
if ("clear".equals(action)) {
orders.clear();
} else if ("update".equals(action)) {
for (int i = orders.size()-1; i >= 0; i--) {
String quantityStr = request.getParameter("quantity" + i);
int quantity = Integer.parseInt(quantityStr);
if (quantity <= 0) {
orders.remove(i);
} else {
Entity order = orders.get(i);
order.put("quantity", quantity);
}
}
} else if (action.startsWith("delete")) {
int productId = Integer.parseInt(action.substring(6));
for (int i = orders.size()-1; i >= 0; i--) {
if (orders.get(i).get("product_id").equals(productId)) {
orders.remove(i);
}
}
}
redirect("cart_view", response);
}
}