Subversion Repositories Integrator Subversion

Rev

Rev 106 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
106 espaco 1
package br.com.ec.controller.managedbean;
2
 
3
import java.io.Serializable;
4
import java.util.HashSet;
5
import java.util.List;
6
 
7
import javax.inject.Inject;
8
import javax.inject.Named;
9
import javax.servlet.http.HttpSession;
10
 
11
import org.springframework.context.annotation.Scope;
12
 
195 espaco 13
import br.com.ec.core.consulta.ParametrosConsulta;
14
import br.com.ec.core.exception.NegocioException;
15
import br.com.ec.core.generic.GenericService;
16
import br.com.ec.core.util.VerificadorUtil;
106 espaco 17
import br.com.ec.domain.model.Perfil;
18
import br.com.ec.domain.model.Pessoa;
19
import br.com.ec.domain.model.Usuario;
20
import br.com.ec.domain.model.UsuarioPerfil;
21
import br.com.ec.domain.service.perfil.PerfilService;
22
import br.com.ec.domain.service.usuario.UsuarioService;
195 espaco 23
import br.com.ec.web.exception.VerificadorLancamentoException;
24
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
25
import br.com.ec.web.generic.AbstractBean;
26
import br.com.ec.web.message.LancadorMensagem;
27
import br.com.ec.web.util.TipoOperacao;
106 espaco 28
 
29
@Named
30
@Scope("view")
31
public class UsuarioBean extends AbstractBean<Usuario> implements Serializable {
32
 
33
        private static final long serialVersionUID = 1L;
34
 
35
        private UsuarioService usuarioService;
36
        private PerfilService perfilService;
37
 
38
        private Usuario usuarioSelecionado;
39
        private Perfil perfilSelecionado;
40
        private List<Perfil> perfis;
41
        private List<Perfil> perfisSetores;
42
 
43
        @Inject
44
        public UsuarioBean(UsuarioService usuarioService, PerfilService perfilService) {
45
                this.usuarioService = usuarioService;
46
                this.perfilService = perfilService;
47
        }
48
 
49
        @Override
50
        public void limparEntidade() {
51
                setEntidade(new Usuario());
52
        }
53
 
54
        @Override
55
        public GenericService<Usuario> getService() {
56
                return usuarioService;
57
        }
58
 
59
        @Override
60
        public Usuario getEntidade() {
61
                return entidade;
62
        }
63
 
64
        @Override
65
        public Usuario getId() {
66
                return getEntidade();
67
        }
68
 
69
        public Usuario getUsuarioSelecionado() {
70
                return usuarioSelecionado;
71
        }
72
        public void setUsuarioSelecionado(Usuario usuarioSelecionado) {
73
                this.usuarioSelecionado = usuarioSelecionado;
74
        }
75
 
76
        public Perfil getPerfilSelecionado() {
77
                return perfilSelecionado;
78
        }
79
        public void setPerfilSelecionado(Perfil perfilSelecionado) {
80
                this.perfilSelecionado = perfilSelecionado;
81
        }
82
 
83
        public List<Perfil> getPerfis() {
84
                if (VerificadorUtil.estaNulo(perfis)) {
85
                        setPerfis(perfilService.consultarTodos(new Perfil()));
86
                }
87
                return perfis;
88
        }
89
        public void setPerfis(List<Perfil> perfis) {
90
                this.perfis = perfis;
91
        }
92
 
93
        public List<Perfil> getPerfisSetores() {
94
                if (VerificadorUtil.estaNulo(perfisSetores)) {
95
                        setPerfisSetores(perfilService.consultarPerfisComSetoresAtivos());
96
                }
97
                return perfisSetores;
98
        }
99
        public void setPerfisSetores(List<Perfil> perfisSetores) {
100
                this.perfisSetores = perfisSetores;
101
        }
102
 
103
        @Override
104
        public void preCarregamento() {
105
                parametrosConsulta = new ParametrosConsulta<Usuario>();
106
                parametrosConsulta.setEntidade(new Usuario());
107
        }
108
 
109
        /***************************************************************/
110
 
111
        @Override
112
        public void preDetalhar(Usuario usuario) {
113
                detalhar(usuario);
114
                setTipoOperacao(TipoOperacao.DETALHAR);
115
        }
116
 
117
        @Override
118
        public void preAlterar(Usuario usuario) {
119
                detalhar(usuario);
120
                setTipoOperacao(TipoOperacao.ALTERAR);
121
        }
122
 
123
        public void detalhar(Usuario usuario) {
124
                setEntidade(usuarioService.detalhar(usuario));
125
        }
126
 
127
        public void detalhar(final Pessoa pessoa) {
128
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
129
                        public void execute() {
130
                                Usuario usuarioConsultado = usuarioService.consultarUsuarioPorPessoa(pessoa);
131
                                if (VerificadorUtil.estaNulo(usuarioConsultado)) {
132
                                        throw new NegocioException("Usuário não existe para esta pessoa");
133
                                }
134
                                setEntidade(usuarioService.detalhar(usuarioConsultado));
135
                                adicionandoParametroArgsConfirmandoAcao(true);
136
                        }
137
                });
138
        }
139
 
140
        public void selecionarPessoa(Pessoa pessoa) {
141
                getEntidade().setPessoa(pessoa);
142
        }
143
 
144
        public void retirarPessoa() {
145
                getEntidade().setPessoa(null);
146
        }
147
 
148
        public void limparPerfil() {
149
                setPerfilSelecionado(null);
150
        }
151
 
152
        public void adicionarPerfil() {
153
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
154
                        public void execute() {
155
                                if (VerificadorUtil.estaNulo(getPerfilSelecionado())) {
156
                                        throw new NegocioException("Selecione o perfil");
157
                                }
158
                                UsuarioPerfil usuarioPerfil = new UsuarioPerfil();
159
                                usuarioPerfil.setPerfil(getPerfilSelecionado());
160
                                usuarioPerfil.setUsuario(getEntidade());
161
                                if (VerificadorUtil.estaNulo(getEntidade().getPerfis())) {
162
                                        getEntidade().setPerfis(new HashSet<UsuarioPerfil>());
163
                                }
164
                                getEntidade().getPerfis().add(usuarioPerfil);
165
                                adicionandoParametroArgsConfirmandoAcao(true);
166
                        }
167
                });
168
        }
169
 
170
        public void removerPerfil(UsuarioPerfil usuarioPerfil) {
171
                getEntidade().getPerfis().remove(usuarioPerfil);
172
        }
173
 
174
        public void alterarSenhaUsuario() {
175
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
176
                        public void execute() {
177
                                usuarioService.alterarSenhaUsuario(getEntidade());
178
                                LancadorMensagem.lancarSucesso("SENHA ALTERADA COM SUCESSO");
179
                        }
180
                });
181
        }
182
 
183
        public int sessoesAtivas() {
184
                try {
185
                        HttpSession sessao = (HttpSession) getContext().getExternalContext().getSession(false);
186
                        int qnt = (int) sessao.getAttribute("SessionCount");
187
                        return qnt;
188
                } catch (Exception e) {
189
                }
190
                return (Integer) null;
191
        }
192
 
193
}