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.Carga;
import br.com.ufrj.msi2.netuno.modelo.entidades.Navio;
import br.com.ufrj.msi2.netuno.modelo.servicos.AtraqueService;
import br.com.ufrj.msi2.netuno.modelo.servicos.NavioService;
@ManagedBean(name="navioBean")
@ViewScoped
public class NavioBean extends MBean {
@EJB
private NavioService servicosNavio;
@EJB
private AtraqueService servicoAtraque;
private Navio navio;
private List<Navio> navios;
private Integer idNavio;
private List<Carga> cargasNavio;
private List<Atraque> atraques;
@PostConstruct
public void inicializar(){
this.navios = servicosNavio.filtrar((new Navio()));
if(this.navio==null){
this.navio = new Navio();
}
}
public String salvar(){
try{
if(navio.getId()!=null) this.servicosNavio.alterar(navio);
else this.servicosNavio.salvar(navio);
this.navios = servicosNavio.filtrar(new Navio());
super.sendMessage(null, FacesMessage.SEVERITY_INFO, "Navio salvo com sucesso", null);
} catch (Exception e){
super.sendMessage(null, FacesMessage.SEVERITY_ERROR, e.getMessage() , null);
return null;
}
return "listar";
}
public void recuperarNavio(){
this.navio = servicosNavio.obterPorId(idNavio);
this.atraques = servicoAtraque.obterAtraquesNavio(idNavio);
}
public String excluir(){
try{
servicosNavio.excluir(idNavio);
} catch (Exception e){
super.sendMessage(null, FacesMessage.SEVERITY_ERROR, e.getMessage() , null);
return null;
}
return "listar";
}
public void consultar(){
this.navios = servicosNavio.filtrar(navio);
}
public NavioService getServicosNavio() {
return servicosNavio;
}
public void setServicosNavio(NavioService servicosNavio) {
this.servicosNavio = servicosNavio;
}
public Navio getNavio() {
return navio;
}
public void setNavio(Navio navio) {
this.navio = navio;
}
public List<Navio> getNavios() {
return navios;
}
public void setNavios(List<Navio> navios) {
this.navios = navios;
}
public Integer getIdNavio() {
return idNavio;
}
public void setIdNavio(Integer idNavio) {
this.idNavio = idNavio;
}
public List<Carga> getCargasNavio() {
return cargasNavio;
}
public void setCargasNavio(List<Carga> cargasNavio) {
this.cargasNavio = cargasNavio;
}
public List<Atraque> getAtraques() {
return atraques;
}
public void setAtraques(List<Atraque> atraques) {
this.atraques = atraques;
}
}