Subversion Repositories Integrator Subversion

Rev

Rev 299 | Rev 303 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
299 espaco 1
package br.com.ec.controller;
2
 
3
import java.io.Serializable;
4
 
5
import javax.inject.Inject;
6
import javax.inject.Named;
7
 
8
import org.primefaces.event.FlowEvent;
9
import org.springframework.context.annotation.Scope;
10
 
11
import br.com.ec.core.generic.GenericService;
12
import br.com.ec.core.util.VerificadorUtil;
13
import br.com.ec.domain.dto.PessoaDTO;
302 espaco 14
import br.com.ec.domain.model.Endereco;
299 espaco 15
import br.com.ec.domain.model.Pessoa;
302 espaco 16
import br.com.ec.domain.model.tipos.TipoDependentes;
299 espaco 17
import br.com.ec.domain.model.tipos.TipoEscolaridade;
18
import br.com.ec.domain.model.tipos.TipoEstadoCivil;
19
import br.com.ec.domain.model.tipos.TipoPessoa;
20
import br.com.ec.domain.model.tipos.TipoRacaCor;
21
import br.com.ec.domain.service.PessoaService;
22
import br.com.ec.web.exception.VerificadorLancamentoException;
23
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
24
import br.com.ec.web.generic.AbstractBean;
25
import br.com.ec.web.message.LancadorMensagem;
26
import br.com.ec.web.util.TipoOperacao;
27
 
28
@Named
29
@Scope("view")
30
public class CadastroExternoBean extends AbstractBean<PessoaDTO> implements Serializable {
31
 
32
        private static final long serialVersionUID = 1L;
33
 
34
        private Pessoa pessoaSelecionada;
302 espaco 35
        private Endereco enderecoSelecionado;
36
        private String proximoPasso;
299 espaco 37
        private PessoaService pessoaService;
38
 
39
        @Inject
40
        public CadastroExternoBean(PessoaService pessoaService) {
41
                this.pessoaService = pessoaService;
42
        }
43
 
44
        @Override
45
        public void preCarregamento() {
46
                limparEntidade();
47
        }
48
 
49
        @Override
50
        public void limparEntidade() {
51
                PessoaDTO pessoaDTO = new PessoaDTO();
52
                pessoaDTO.setTipoPessoa(TipoPessoa.FISICA_F.getValor());
302 espaco 53
                pessoaDTO.setNome("NOVATO");
299 espaco 54
                setEntidade(pessoaDTO);
55
        }
56
 
57
        @Override
58
        public GenericService<PessoaDTO> getService() {
59
                return null;
60
        }
61
 
62
        @Override
63
        public PessoaDTO getEntidade() {
64
                return entidade;
65
        }
66
 
67
        @Override
68
        public void preConsultar() {
69
                setTipoOperacao(TipoOperacao.CONSULTAR);
70
        }
71
 
72
        @Override
73
        public PessoaDTO getId() {
74
                return getEntidade();
75
        }
76
 
77
        public TipoEstadoCivil[] getTiposEstadoCivil() {
78
                return TipoEstadoCivil.values();
79
        }
80
 
81
        public TipoRacaCor[] getTiposRacaCor() {
82
                return TipoRacaCor.values();
83
        }
84
 
85
        public TipoEscolaridade[] getTiposEscolaridade() {
86
                return TipoEscolaridade.values();
87
        }
88
 
302 espaco 89
        public TipoDependentes[] getTiposDependentes() {
90
                return TipoDependentes.values();
91
        }
92
 
299 espaco 93
        public Pessoa getPessoaSelecionada() {
94
                return pessoaSelecionada;
95
        }
96
        public void setPessoaSelecionada(Pessoa pessoaSelecionada) {
97
                this.pessoaSelecionada = pessoaSelecionada;
98
        }
99
 
302 espaco 100
        public Endereco getEnderecoSelecionado() {
101
                return enderecoSelecionado;
102
        }
103
        public void setEnderecoSelecionado(Endereco enderecoSelecionado) {
104
                this.enderecoSelecionado = enderecoSelecionado;
105
        }
106
 
107
        public String getProximoPasso() {
108
                return proximoPasso;
109
        }
110
        public void setProximoPasso(String proximoPasso) {
111
                this.proximoPasso = proximoPasso;
112
        }
113
 
299 espaco 114
        /*********************************************************/
115
 
116
        public void iniciarCadastroExterno() {
117
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
118
                        public void execute() {
302 espaco 119
                                setPessoaSelecionada(pessoaService.cadastroExterno(null, new Pessoa(getEntidade()), null));
120
                                getPessoaSelecionada().setNome("");
121
                                setEnderecoSelecionado(getPessoaSelecionada().primeiroEndereco());
122
                                if (VerificadorUtil.estaNulo(getEnderecoSelecionado())) {
123
                                        setEnderecoSelecionado(new Endereco(true));
124
                                }
299 espaco 125
                        }
126
                });
127
        }
128
 
129
        public String seguir(FlowEvent evento) {
302 espaco 130
                setProximoPasso(evento.getOldStep());
131
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
132
                        public void execute() {
133
                                pessoaService.cadastroExterno(evento, getPessoaSelecionada(), getEnderecoSelecionado());
134
                                setProximoPasso(evento.getNewStep());
135
                        }
136
                });
137
        return getProximoPasso();
299 espaco 138
    }
139
 
302 espaco 140
        public void finalizarCadastro() {
141
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
142
                        public void execute() {
143
                                // SALVAR
144
                                // ENVIAR EMAIL DE CONFIRMAÇÃO DE CADASTRO
145
                                setPessoaSelecionada(null);
146
                                setEnderecoSelecionado(null);
147
                                limparEntidade();
148
                                LancadorMensagem.lancarSucesso("CADASTRO REALIZADO COM SUCESSO");
149
                        }
150
                });
299 espaco 151
        }
152
 
153
}