/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Java;
import Java.ORM.DatabaseORM;
import static Java.ORM.DatabaseORM.entityManagerFactoryString;
import Java.ORM.Order;
import Java.ORM.OrderItem;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.Date;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Geert
*/
@WebServlet(name = "ServletCreateOrder", urlPatterns = {"/ServletCreateOrder"})
public class ServletCreateOrder extends HttpServlet {
private EntityManager em = Persistence.createEntityManagerFactory(entityManagerFactoryString).createEntityManager();
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String curUser = request.getParameter("session");
request.getSession().setAttribute("username", curUser);
if (curUser == null) {
request.getRequestDispatcher("login.jsp").forward(request, response);
return;
}
Shoppingcart shoppingcart = DatabaseORM.getShoppingcart(em, curUser);
if (shoppingcart != null) {
Timestamp time = new Timestamp(new Date().getTime());
Order order = new Order(DatabaseORM.findAccount(em, curUser), time, time, 0);
for (int i = 0; i < shoppingcart.size(); i++) {
ShoppingcartItem item = shoppingcart.get(i);
order.addItem(new OrderItem(order, Integer.valueOf(item.getPhoto()), item.getProduct(), item.getColor(), item.getAmount(), DatabaseKoppeling.getItemPrice(item.getPhoto(), item.getProduct())));
}
DatabaseORM.insertOrder(em, order);
DatabaseORM.removeShoppingcart(em, shoppingcart);
}
response.sendRedirect("c_orders.jsp");
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}