package com.packtpub.as7development.chapter8.service; import java.io.Serializable; import javax.annotation.PostConstruct; import javax.ejb.Remote; import javax.enterprise.context.SessionScoped; import javax.enterprise.event.Event; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; import javax.jws.WebMethod; import javax.jws.WebService; import com.packtpub.as7development.chapter8.ejb.TheatreBox; import com.packtpub.as7development.chapter8.model.Seat; @Named @SessionScoped public class TheatreBookerBean implements Serializable { int money; @Inject TheatreBox theatreBox; @PostConstruct public void createCustomer() { this.money=100; } public void bookSeat(int seatId) { FacesContext fc = FacesContext.getCurrentInstance(); System.out.println("Booking seat "+seatId); Seat seat = theatreBox.getSeatList().get(seatId); if (seat.getPrice() > money) { FacesMessage m = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Not enough Money!", "Registration successful"); fc.addMessage(null, m); return; } theatreBox.buyTicket(seatId); FacesMessage m = new FacesMessage(FacesMessage.SEVERITY_INFO, "Registered!", "Registration successful"); fc.addMessage(null, m); System.out.println("Seat booked."); money = money - seat.getPrice(); } public int getMoney() { return money; } }