Subversion Repositories Integrator Subversion

Rev

Rev 195 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.ec.controller.managedbean;

import java.io.Serializable;

import javax.inject.Inject;
import javax.inject.Named;

import org.springframework.context.annotation.Scope;

import br.com.ec.controller.managedbean.consultademanda.PontoConsultaPorDemanda;
import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.model.Pessoa;
import br.com.ec.domain.model.Ponto;
import br.com.ec.domain.service.ponto.PontoService;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.message.LancadorMensagem;

@Named
@Scope("view")
public class PontoConsultaBean extends AbstractBean<Ponto> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private PontoConsultaPorDemanda lazy;
       
        private PontoService pontoService;
       
        private Ponto pontoSelecionado;
       
        @Inject
        public PontoConsultaBean(PontoConsultaPorDemanda lazy, PontoService pontoService) {
                this.lazy = lazy;
                this.pontoService = pontoService;
        }
       
        @Override
        public void preCarregamento() {
                entidade = new Ponto();
                parametrosConsulta = new ParametrosConsulta<Ponto>();
                parametrosConsulta.setEntidade(entidade);
                pontoSelecionado = null;
                prepararConsultaDemanda();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new Ponto());
                setPontoSelecionado(null);
        }

        @Override
        public GenericService<Ponto> getService() {
                return pontoService;
        }
       
        @Override
        public Ponto getEntidade() {
                return entidade;
        }

        @Override
        public Ponto getId() {
                return getEntidade();
        }
       
        public PontoConsultaPorDemanda getLazy() {
                return lazy;
        }
        public void setLazy(PontoConsultaPorDemanda lazy) {
                this.lazy = lazy;
        }
        public void prepararConsultaDemanda() {
                lazy.setarParametrosConsulta(getParametrosConsulta());
        }
       
        public Ponto getPontoSelecionado() {
                return pontoSelecionado;
        }
        public void setPontoSelecionado(Ponto pontoSelecionado) {
                this.pontoSelecionado = pontoSelecionado;
        }
       
        public void selecionarPessoaParaConsulta(Pessoa pessoa) {
                getParametrosConsulta().getEntidade().setPessoa(pessoa);
        }
       
        public void retirarPessoaParaConsulta() {
                getParametrosConsulta().getEntidade().setPessoa(null);
        }
       
        /*****************************************************/
       
        public void consultarPonto(Ponto ponto) {
                setPontoSelecionado(getService().consultarPorId(ponto));
        }
       
        public void validarPonto() {
                new VerificadorLancamentoException().tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean() {
                        public void execute() {
                                getService().alterar(getPontoSelecionado());
                                prepararConsultaDemanda();
                                LancadorMensagem.lancarSucesso("PONTO VALIDADO COM SUCESSO");
                        }
                });
        }
       
}