package com.titanic.ventapasajes.controller; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.faces.application.FacesMessage; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; import javax.inject.Inject; import javax.inject.Named; import com.titanic.ventapasajes.modelo.Grupo; import com.titanic.ventapasajes.modelo.TipoPersona; import com.titanic.ventapasajes.modelo.Usuario; import com.titanic.ventapasajes.repositorio.GrupoRepositorio; import com.titanic.ventapasajes.service.RegistroUsuarioService; import com.titanic.ventapasajes.jsf.FacesUtil; @Named @ViewScoped public class RegistroUsuarioBean implements Serializable { private static final long serialVersionUID = 1L; @Inject private GrupoRepositorio grupoRepositorio; @Inject private RegistroUsuarioService UsuarioService; private Usuario usuario; private List<Grupo> grupos = new ArrayList<>(); private Grupo grupo; public void inicializar() { grupos = grupoRepositorio.listarGrupos(); if (this.usuario == null) { this.usuario = new Usuario(); } } public Usuario getUsuario() { return usuario; } public TipoPersona[] getTiposPersona() { return TipoPersona.values(); } public void registrarUsuario() { this.usuario = UsuarioService.registrarUsuario(this.usuario); limpiarFormulario(); FacesUtil.adicionarMensajeInfo("El Usuario se registro correctamente"); } private void limpiarFormulario() { usuario = new Usuario(); } public void setUsuario(Usuario usuario) { this.usuario = usuario; } public boolean isEditando() { return (this.usuario != null && this.usuario.getIdeUsuario() != null); } public Grupo getGrupo() { return grupo; } public void setGrupo(Grupo grupo) { this.grupo = grupo; } public List<Grupo> getGrupos() { return grupos; } public void eliminarGrupo() { List<Grupo> gruposUsuario = this.usuario.getGrupos(); if (!gruposUsuario.isEmpty()) { if (gruposUsuario.contains(grupo)) { gruposUsuario.remove(grupo); } } } public void agregarGrupo() { List<Grupo> gruposUsuario = this.usuario.getGrupos(); if (gruposUsuario.isEmpty()) { gruposUsuario.add(grupo); } else { if (!gruposUsuario.contains(grupo)) { gruposUsuario.add(grupo); } } } public void addMessage() { String summary = this.usuario.isActivo() ? "El usuario esta activo ahora." : "El usuario esta inactivo ahora."; FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(summary)); } }