package br.com.ufrj.msi2.netuno.bean;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import br.com.ufrj.msi2.netuno.modelo.entidades.Atraque;
import br.com.ufrj.msi2.netuno.modelo.entidades.Navio;
import br.com.ufrj.msi2.netuno.modelo.entidades.Porto;
import br.com.ufrj.msi2.netuno.modelo.servicos.AtraqueService;
import br.com.ufrj.msi2.netuno.modelo.servicos.NavioService;
import br.com.ufrj.msi2.netuno.modelo.servicos.PortoService;
@ManagedBean(name="atraqueBean")
@ViewScoped
public class AtraqueBean extends MBean {
@EJB
AtraqueService servicosAtraque;
@EJB
PortoService servicosPorto;
@EJB
NavioService servicosNavio;
private Atraque atraque;
private List<Atraque> atraques;
private Integer idAtraque;
private Navio navio;
private Integer idNavio;
private Porto porto;
private Integer idPorto;
private List<Porto> portos;
private List<Navio> navios;
@PostConstruct
public void inicializar(){
portos = servicosPorto.obterTodos();
navios = servicosNavio.filtrar(new Navio());
if(atraque==null){
atraque = new Atraque();
}
}
public void recuperarNavio(){
navio = servicosNavio.obterPorId(idNavio);
}
public void recuperarPorto(){
porto = servicosPorto.obterPorId(idPorto);
}
public String salvar(){
String outcome = null;
if(navio!=null){
atraque.setNavio(navio);
outcome="/navios/";
}
if(porto!=null){
atraque.setPorto(porto);
outcome="/portos/";
}
try {
servicosAtraque.incluir(this.atraque);
super.sendMessage(null, FacesMessage.SEVERITY_INFO, "Atraque agendado com sucesso.", null);
} catch (Exception e) {
super.sendMessage(null, FacesMessage.SEVERITY_ERROR, e.getMessage(), null);
}
return outcome+"listar";
}
public void excluir(){
try {
servicosAtraque.excluir(idAtraque);
super.sendMessage(null, FacesMessage.SEVERITY_INFO, "Agendamento de atraque exclu�do com sucesso.", null);
} catch (Exception e) {
super.sendMessage(null, FacesMessage.SEVERITY_ERROR, e.getMessage(), null);
}
}
public Atraque getAtraque() {
return atraque;
}
public void setAtraque(Atraque atraque) {
this.atraque = atraque;
}
public List<Atraque> getAtraques() {
return atraques;
}
public void setAtraques(List<Atraque> atraques) {
this.atraques = atraques;
}
public Integer getIdAtraque() {
return idAtraque;
}
public void setIdAtraque(Integer idAtraque) {
this.idAtraque = idAtraque;
}
public Navio getNavio() {
return navio;
}
public void setNavio(Navio navio) {
this.navio = navio;
}
public Integer getIdNavio() {
return idNavio;
}
public void setIdNavio(Integer idNavio) {
this.idNavio = idNavio;
}
public Porto getPorto() {
return porto;
}
public void setPorto(Porto porto) {
this.porto = porto;
}
public Integer getIdPorto(){
return idPorto;
}
public void setIdPorto(Integer idPorto){
this.idPorto = idPorto;
}
public List<Porto> getPortos() {
return portos;
}
public void setPortos(List<Porto> portos) {
this.portos = portos;
}
public List<Navio> getNavios() {
return navios;
}
public void setNavios(List<Navio> navios) {
this.navios = navios;
}
}