Subversion Repositories Integrator Subversion

Rev

Rev 106 | Go to most recent revision | 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.ArrayList;
5
import java.util.List;
6
 
7
import javax.inject.Inject;
8
import javax.inject.Named;
9
 
10
import org.springframework.context.annotation.Scope;
11
 
195 espaco 12
import br.com.ec.core.generic.GenericService;
13
import br.com.ec.core.util.DataUtils;
14
import br.com.ec.core.util.VerificadorUtil;
106 espaco 15
import br.com.ec.domain.model.Cliente;
16
import br.com.ec.domain.model.Pedido;
17
import br.com.ec.domain.model.tipos.TipoSexo;
18
import br.com.ec.domain.service.cliente.ClienteService;
195 espaco 19
import br.com.ec.web.exception.VerificadorLancamentoException;
20
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
21
import br.com.ec.web.generic.AbstractBean;
106 espaco 22
 
23
@Named
24
@Scope("view")
25
public class ClienteBean extends AbstractBean<Cliente> implements Serializable {
26
 
27
        private static final long serialVersionUID = 1L;
28
 
29
        private ClienteService clienteService;
30
 
31
        private Cliente clienteSelecionado;
32
        private String cpfCnpjCliente;
33
        private String contatoCliente;
34
 
35
        private List<Pedido> pedidos;
36
        private Pedido pedidoSelecionado;
37
 
38
        private Boolean indicadorCpfCnpjInvalido;
39
 
40
        @Inject
41
        public ClienteBean(ClienteService clienteService) {
42
                this.clienteService = clienteService;
43
        }
44
 
45
        @Override
46
        public void preCarregamento() {
47
                setIndicadorCpfCnpjInvalido(false);
48
                entidade = new Cliente();
49
                entidade.setAtivo(true);
50
        }
51
 
52
        @Override
53
        public void limparEntidade() {
54
                setEntidade(new Cliente());
55
                setPedidos(new ArrayList<Pedido>());
56
        }
57
 
58
        @Override
59
        public GenericService<Cliente> getService() {
60
                return clienteService;
61
        }
62
 
63
        @Override
64
        public Cliente getEntidade() {
65
                return entidade;
66
        }
67
 
68
        @Override
69
        public Cliente getId() {
70
                return getEntidade();
71
        }
72
 
73
        @Override
74
        public void preDetalhar(Cliente cliente) {
75
                super.preDetalhar(clienteService.detalharCliente(cliente));
76
        }
77
 
78
        @Override
79
        public void preAlterar(Cliente cliente) {
80
                super.preAlterar(clienteService.detalharCliente(cliente));
81
        }
82
 
83
        public Cliente getClienteSelecionado() {
84
                return clienteSelecionado;
85
        }
86
        public void setClienteSelecionado(Cliente clienteSelecionado) {
87
                this.clienteSelecionado = clienteSelecionado;
88
        }
89
 
90
        public String getCpfCnpjCliente() {
91
                return VerificadorUtil.naoEstaNulo(cpfCnpjCliente)? cpfCnpjCliente.replace(".", "").replace("-", "").replace("/", "") : cpfCnpjCliente;
92
        }
93
        public void setCpfCnpjCliente(String cpfCnpjCliente) {
94
                this.cpfCnpjCliente = cpfCnpjCliente;
95
        }
96
 
97
        public String getContatoCliente() {
98
                return contatoCliente;
99
        }
100
        public void setContatoCliente(String contatoCliente) {
101
                this.contatoCliente = contatoCliente;
102
        }
103
 
104
        public List<Pedido> getPedidos() {
105
                return pedidos;
106
        }
107
        public void setPedidos(List<Pedido> pedidos) {
108
                this.pedidos = pedidos;
109
        }
110
 
111
        public Pedido getPedidoSelecionado() {
112
                return pedidoSelecionado;
113
        }
114
        public void setPedidoSelecionado(Pedido pedidoSelecionado) {
115
                this.pedidoSelecionado = pedidoSelecionado;
116
        }
117
 
118
        public Boolean getIndicadorCpfCnpjInvalido() {
119
                return indicadorCpfCnpjInvalido;
120
        }
121
        public void setIndicadorCpfCnpjInvalido(Boolean indicadorCpfCnpjInvalido) {
122
                this.indicadorCpfCnpjInvalido = indicadorCpfCnpjInvalido;
123
        }
124
 
125
        /***************************************************************/
126
 
127
        public List<Cliente> getConsultarTodas() {
128
                return clienteService.consultarTodos(new Cliente());
129
        }
130
 
131
        public TipoSexo[] getTiposSexo() {
132
                return TipoSexo.values();
133
        }
134
 
135
        public void verificarCpfCnpj() {
136
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
137
                        public void execute() {
138
                                setClienteSelecionado(null);
139
                                setIndicadorCpfCnpjInvalido(false);
140
                                Cliente clienteConsulta = null;
141
                                if (VerificadorUtil.naoEstaNuloOuVazio(getCpfCnpjCliente())) {
142
                                        clienteConsulta = new Cliente();
143
                                        clienteConsulta.setCpfCnpj(getCpfCnpjCliente());
144
                                        setIndicadorCpfCnpjInvalido(!clienteConsulta.cpfCnpjEhValido());
145
                                }
146
                                clienteConsulta = clienteService.consultarClientePorCpfCnpjOuContato(getCpfCnpjCliente(), getContatoCliente());
147
                                if (VerificadorUtil.estaNulo(clienteConsulta)) {
148
                                        clienteConsulta = new Cliente();
149
                                        clienteConsulta.setDataCadastro(DataUtils.getDataAtual());
150
                                        clienteConsulta.setCpfCnpj(getCpfCnpjCliente());
151
                                }
152
                                setClienteSelecionado(clienteConsulta);
153
                        }
154
                });
155
        }
156
 
157
        public void limparCliente() {
158
                setClienteSelecionado(null);
159
                setCpfCnpjCliente("");
160
        }
161
 
162
        /*
163
        public void selecionarCliente(final Cliente cliente) {
164
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
165
                        public void execute() {
166
                                cliente.setAtivo(true);
167
                                clienteService.alterar(cliente);
168
                                setClienteSelecionado(cliente);
169
                                setCpfCliente(null);
170
                                adicionandoParametroArgsConfirmandoAcao(true);
171
                        }
172
                });
173
        }
174
        */
175
 
176
}