/*
* Copyright 2007 Sun Microsystems, Inc.
* All rights reserved. You may not modify, use,
* reproduce, or distribute this software except in
* compliance with the terms of the License at:
* http://developer.sun.com/berkeley_license.html
*/
package com.sun.bookstore6.backing;
import com.sun.bookstore.cart.ShoppingCart;
import com.sun.bookstore.cart.ShoppingCartItem;
import com.sun.bookstore6.backing.AbstractBean;
import com.sun.bookstore6.converters.CreditCardConverter;
import com.sun.bookstore.database.Book;
import java.util.Date;
import javax.faces.component.UIOutput;
import javax.faces.component.UISelectBoolean;
/**
* <p>Backing Bean for the <code>/bookcashier.jsp</code> page.</p>
*/
public class CashierBean extends AbstractBean {
protected Date shipDate;
// ---------------------------------------------------- Component Properties
protected String name = null;
protected String shippingOption = "2";
protected String[] newsletters = new String[0];
UIOutput specialOfferText = null;
UIOutput thankYou = null;
UISelectBoolean specialOffer = null;
private CreditCardConverter creditCard = null;
private String stringProperty = "This is a String property";
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public CreditCardConverter getCreditCard() {
if (creditCard == null) {
return new CreditCardConverter();
}
return creditCard;
}
public void setCreditCard(CreditCardConverter newCreditCard) {
this.creditCard = newCreditCard;
}
public void setNewsletters(String[] newsletters) {
this.newsletters = newsletters;
}
public String[] getNewsletters() {
return this.newsletters;
}
public Date getShipDate() {
return this.shipDate;
}
public void setShipDate(Date shipDate) {
this.shipDate = shipDate;
}
public void setShippingOption(String shippingOption) {
this.shippingOption = shippingOption;
}
public String getShippingOption() {
return this.shippingOption;
}
public UIOutput getSpecialOfferText() {
return this.specialOfferText;
}
public void setSpecialOfferText(UIOutput specialOfferText) {
this.specialOfferText = specialOfferText;
}
public UISelectBoolean getSpecialOffer() {
return this.specialOffer;
}
public void setSpecialOffer(UISelectBoolean specialOffer) {
this.specialOffer = specialOffer;
}
public UIOutput getThankYou() {
return this.thankYou;
}
public void setThankYou(UIOutput thankYou) {
this.thankYou = thankYou;
}
public String getStringProperty() {
return (this.stringProperty);
}
public void setStringProperty(String stringProperty) {
this.stringProperty = stringProperty;
}
// ----------------------------------------------------- Application Actions
public String submit() {
// Subscribing to newsletters would go here
// Calculate and save the ship date
int days = Integer.valueOf(shippingOption)
.intValue();
Date shipDate = new Date();
shipDate = new Date(
shipDate.getTime() + ((long) days * (long) 86400000));
setShipDate(shipDate);
if ((cart()
.getTotal() > 100.00) && !specialOffer.isRendered()) {
specialOfferText.setRendered(true);
specialOffer.setRendered(true);
return null;
} else if (specialOffer.isRendered() && !thankYou.isRendered()) {
thankYou.setRendered(true);
return null;
} else {
try {
updateInventory();
} catch (Exception ex) {
return "bookordererror";
}
clear();
return ("receipt");
}
}
}