Package oss.ngocminh.lego.service

Source Code of oss.ngocminh.lego.service.InvoiceCreateController

package oss.ngocminh.lego.service;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import oss.ngocminh.lego.data.Entity;
import oss.ngocminh.lego.data.Invoice;
import oss.ngocminh.lego.persistence.InvoiceDAO;
import oss.ngocminh.lego.persistence.OrderDAO;
import oss.ngocminh.lego.util.SessionUtils;

/**
* Servlet implementation class InvoiceCreateController
*/
public class InvoiceCreateController extends AbstractController {
  private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public InvoiceCreateController() {
    }

  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    renderView(request, response);
  }

  /**
   * @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");
    Invoice invoice = new Invoice();
    invoice.put("orders", orders);
    invoice.put("user", SessionUtils.getUser(request));
    invoice.put("shipType", request.getAttribute("shipType"));
    invoice.put("payType", request.getAttribute("payType"));
    invoice.put("note", request.getAttribute("note"));
    invoice.put("address_id", request.getAttribute("address_id"));
    invoice.put("time", new Date());
   
    Connection conn = null;
    try {
      conn = getConnection();
      invoiceDAO = new InvoiceDAO();
      invoiceDAO.setConnection(conn);
      orderDAO = new OrderDAO();
      orderDAO.setConnection(conn);
     
      conn.setAutoCommit(false);
      for (Entity order : orders) {
        orderDAO.save(order);
      }
      invoiceDAO.save(invoice);
      conn.commit();
    } catch (SQLException e) {
      rollbackSupressException(conn);
      throw new ServletException(e);
    } finally {
      closeConnectionSupressException(conn);
    }
  }

  private InvoiceDAO invoiceDAO;
  private OrderDAO orderDAO;

}
TOP

Related Classes of oss.ngocminh.lego.service.InvoiceCreateController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.