/*
* Licensed to csti consulting
* You may obtain a copy of the License at
*
* http://www.csticonsulting.com
* Copyright (c) 2006-Aug 25, 2010 Consultation CS-TI inc.
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package com.salesmanager.checkout.flow;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import com.salesmanager.checkout.CheckoutBaseAction;
import com.salesmanager.core.entity.customer.Customer;
import com.salesmanager.core.entity.merchant.MerchantStore;
import com.salesmanager.core.entity.orders.Order;
import com.salesmanager.core.entity.orders.OrderProduct;
import com.salesmanager.core.entity.orders.OrderStatusHistory;
import com.salesmanager.core.entity.orders.OrderTotalSummary;
import com.salesmanager.core.entity.payment.CreditCard;
import com.salesmanager.core.entity.payment.PaymentMethod;
import com.salesmanager.core.entity.shipping.Shipping;
import com.salesmanager.core.entity.shipping.ShippingInformation;
import com.salesmanager.core.entity.shipping.ShippingOption;
import com.salesmanager.core.service.ServiceFactory;
import com.salesmanager.core.service.order.OrderService;
import com.salesmanager.core.util.www.SessionUtil;
public class DisplayOrderSummaryAction extends CheckoutBaseAction {
private Logger log = Logger.getLogger(DisplayOrderSummaryAction.class);
private OrderService oservice = (OrderService) ServiceFactory
.getService(ServiceFactory.OrderService);
private Order order;
private OrderStatusHistory orderHistory;
public String displayOrderSummaryAction() {
try {
super.preparePayments();
// getServletRequest().setAttribute("REQUESTTYPE", "subscription");
getServletRequest().setAttribute("STEP", 2);
getServletRequest().setAttribute("ADDRESSTYPE", "BILLING");
order = SessionUtil.getOrder(getServletRequest());
MerchantStore store = SessionUtil
.getMerchantStore(getServletRequest());
Customer customer = SessionUtil.getCustomer(getServletRequest());
PaymentMethod paymentMethod = SessionUtil
.getPaymentMethod(getServletRequest());
if (paymentMethod.getType() == 1) {// credit card
CreditCard card = (CreditCard) paymentMethod.getConfig("CARD");
getServletRequest().setAttribute("CARD", card);
}
Map orderProducts = SessionUtil.getOrderProducts(super
.getServletRequest());
ShippingInformation shippingInformation = SessionUtil
.getShippingInformation(getServletRequest());
Shipping shipping = null;
if (shippingInformation != null) {
ShippingOption option = shippingInformation
.getShippingOptionSelected();
shipping = new Shipping();
shipping.setHandlingCost(shippingInformation.getHandlingCost());
shipping.setShippingCost(option.getOptionPrice());
shipping.setShippingModule(option.getModule());
shipping.setShippingDescription(option.getDescription());
getServletRequest().setAttribute("STEP", 3);
getServletRequest().setAttribute("ADDRESSTYPE", "BOTH");
}
List products = new ArrayList();
if (orderProducts != null) {
Iterator i = orderProducts.keySet().iterator();
while (i.hasNext()) {
String line = (String) i.next();
OrderProduct op = (OrderProduct) orderProducts.get(line);
products.add(op);
}
}
// update order with tax if it applies
OrderTotalSummary summary = super.updateOrderTotal(order, products,
customer, shipping, store);
SessionUtil.setOrderTotalSummary(summary, getServletRequest());
} catch (Exception e) {
log.error(e);
return "GLOBALERROR";
}
return SUCCESS;
}
public String displayCartOrderSummaryAction() {
getServletRequest().setAttribute("ADDRESSTYPE", "BOTH");
return SUCCESS;
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public OrderStatusHistory getOrderHistory() {
return orderHistory;
}
public void setOrderHistory(OrderStatusHistory orderHistory) {
this.orderHistory = orderHistory;
}
}