Internet-Technologien/src/main/java/de/hsel/itech/jsf/AddressBean.java

84 lines
1.9 KiB
Java

package de.hsel.itech.jsf;
import de.hsel.itech.db.Database;
import de.hsel.itech.db.pojo.Address;
import de.hsel.itech.db.pojo.User;
import lombok.Getter;
import lombok.Setter;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Johannes Theiner
* @version 1.0
*/
@ManagedBean
@SessionScoped
public class AddressBean implements Serializable {
public User getUser() {
FacesContext context = FacesContext.getCurrentInstance();
return (User) context.getApplication().evaluateExpressionGet(context,"#{userBean.user}", User.class);
}
@Getter
@Setter
private String name;
@Getter
@Setter
private String street;
@Getter
@Setter
private String number;
@Getter
@Setter
@Size(min = 5, max = 5)
private Integer zipCode;
@Getter
@Setter
private String city;
@Getter
private boolean valid = true;
@Getter
private Address selected;
public String select(Address address) {
selected = address;
return "paymentSelection.jsf";
}
public List<Address> getAddressList() {
List<Address> list = Database.getInstance().address().getAll(getUser());
if(list == null) return new ArrayList<>();
return list;
}
public String add() {
if(getUser() != null && name != null && street != null && number != null && zipCode != null && city != null) {
Database.getInstance().address().insert(new Address(getUser(), name, street, number, zipCode, city));
name = null;
number = null;
zipCode = null;
city = null;
valid = true;
return "address.xhtml";
}
valid = false;
return "";
}
}