// attache address to order
Address orderAddress = (Address) session.getAttribute(Constants.PREPARE_ORDER_ADDRESS);
// create a new order object
InternetSalesOrder newOrder = new InternetSalesOrder (customer,orderAddress);
// create the line items and add to order
Shopcart shopcart = (Shopcart) session.getAttribute(Constants.SHOPCART);
Iterator cartItems = shopcart.getItems().iterator();
ShopcartItem currentItem;
SalesOrderLineItem currentLineItem;
ProductOption currentOption;
// get a DAO for the new Stake
InternetProductOptionDAO optionDAO = new InternetProductOptionDAO();
while (cartItems.hasNext()) {
currentItem = (ShopcartItem) cartItems.next();
currentOption = optionDAO.findById(currentItem.getOptionId(),false);
currentLineItem =
new SalesOrderLineItem(
currentItem.getAmount(),
currentItem.getPrice(),
currentItem.getComment(),
currentOption);
newOrder.getLineItems().add(currentLineItem);
}
// create the payment and attache to the order
InternetPayment payment = new InternetPayment();
CreditCardBillingDetails billing = (CreditCardBillingDetails) customer.getBillingDetails().iterator().next();
payment.setCreditCardType(billing.getCreditCardType().toString());
payment.setCreditCardNumber(billing.getCreditCardNumber());
payment.setCreditCardCVVSCode(billing.getCreditCardCVVSCode());
payment.setExpirationDate(billing.getCreditCardExpirationMonth()+"/"+billing.getCreditCardExpirationYear());
payment.setPaymentAmount(shopcart.getCartTotal());
payment.setPaymentDate(new java.util.Date());
payment.setPaymentMethod("Credit Card");
// add this payment to the newOrder
newOrder.addPayment(payment);
// create a customerDAO
SalesOrderDAO orderDAO = new SalesOrderDAO();
// persist the changes