String ccExpireYear,
String cardHolder,
int shippingMethod,
Collection <ShoppingCartItem>items)
{
Order order = null;
/*
try
{
OrderHome orderHome = (OrderHome) Util.getEJBLocalHome("java:comp/env/ejb/Order", OrderHome.class);
Util.debug("ShoppingCartBean.createOrder: Creating Order");
order = orderHome.create(customerID, billName, billAddr1, billAddr2, billCity, billState, billZip,
billPhone, shipName, shipAddr1, shipAddr2, shipCity, shipState, shipZip, shipPhone, creditCard,
ccNum, ccExpireMonth, ccExpireYear, cardHolder, shippingMethod, items);
*/
Collection<OrderItem> orderitems = new ArrayList<OrderItem>();
//EntityManager em = entityManagerFactory.createEntityManager();
for (Object o : items) {
ShoppingCartItem si = (ShoppingCartItem) o;
Inventory inv = em.find(Inventory.class, si.getID());
OrderItem oi = new OrderItem(inv);
oi.setQuantity(si.getQuantity());
orderitems.add(oi);
}
Customer c = em.find(Customer.class, customerID);
order = new Order(c, billName, billAddr1, billAddr2, billCity, billState, billZip, billPhone,
shipName, shipAddr1, shipAddr2, shipCity, shipState, shipZip, shipPhone, creditCard,
ccNum, ccExpireMonth, ccExpireYear, cardHolder, shippingMethod, orderitems);
//em.getTransaction().begin();
em.persist(order);
System.out.println("Order persist success!");
em.flush();
//em.getTransaction().commit();
//em.getTransaction().begin();
//store the order items
for (OrderItem o : orderitems) {
o.setOrder(order);
System.out.println("OrderID :: " + order.getOrderID());
o.updatePK(o.getInventory().getInventoryId());
em.persist(o);
}
em.flush();