Subversion Repositories Integrator Subversion

Rev

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

package br.com.ec.controller.managedbean;

import java.io.Serializable;
import java.util.List;

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

import org.springframework.context.annotation.Scope;

import br.com.ec.controller.managedbean.consultademanda.ProdutoVivoConsultaPorDemanda;
import br.com.ec.core.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericService;
import br.com.ec.domain.model.Loja;
import br.com.ec.domain.model.ProdutoVivo;
import br.com.ec.domain.model.tipos.TipoPlanoVivo;
import br.com.ec.domain.model.tipos.TipoServicoVivo;
import br.com.ec.domain.service.produtovivo.ProdutoVivoService;
import br.com.ec.domain.service.seguranca.ContextoSeguranca;
import br.com.ec.web.generic.AbstractBean;
import br.com.ec.web.util.TipoOperacao;

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

        private static final long serialVersionUID = 1L;
       
        private ProdutoVivoConsultaPorDemanda lazy;
       
        private ProdutoVivo produtoVivoSelecionado;
        private Loja lojaSelecionada;
       
        private ProdutoVivoService produtoVivoService;
       
        @Inject
        public ProdutoVivoBean(ProdutoVivoConsultaPorDemanda lazy, ProdutoVivoService produtoVivoService, ContextoSeguranca contextoSeguranca) {
                this.lazy = lazy;
                this.produtoVivoService = produtoVivoService;
        }
       
        @Override
        public void preCarregamento() {
                entidade = new ProdutoVivo();
                parametrosConsulta = new ParametrosConsulta<ProdutoVivo>();
                parametrosConsulta.setEntidade(entidade);
                prepararConsultaDemanda();
        }
       
        @Override
        public void limparEntidade() {
                setEntidade(new ProdutoVivo());
        }

        @Override
        public GenericService<ProdutoVivo> getService() {
                return produtoVivoService;
        }
       
        @Override
        public ProdutoVivo getEntidade() {
                return entidade;
        }

        @Override
        public ProdutoVivo getId() {
                return getEntidade();
        }
       
        @Override
        public void preConsultar() {
                setTipoOperacao(TipoOperacao.CONSULTAR);
        }
       
        @Override
        public void preCadastrar() {
                super.preCadastrar();
                limparEntidade();
                getEntidade().setIndicadorPortifolio(true);
        }
       
        public ProdutoVivo getProdutoSelecionado() {
                return produtoVivoSelecionado;
        }
        public void setProdutoSelecionado(ProdutoVivo produtoVivoSelecionado) {
                this.produtoVivoSelecionado = produtoVivoSelecionado;
        }
       
        public Loja getLojaSelecionada() {
                return lojaSelecionada;
        }
        public void setLojaSelecionada(Loja lojaSelecionada) {
                this.lojaSelecionada = lojaSelecionada;
        }
       
        public ProdutoVivoConsultaPorDemanda getLazy() {
                return lazy;
        }
        public void setLazy(ProdutoVivoConsultaPorDemanda lazy) {
                this.lazy = lazy;
        }
        public void prepararConsultaDemanda() {
                lazy.setarParametrosConsulta(getParametrosConsulta());
        }
       
        /***************************************************************/
       
        public List<ProdutoVivo> getConsultarTodas() {
                return produtoVivoService.consultarTodos(new ProdutoVivo());
        }
       
        public TipoServicoVivo[] getTiposServico() {
                return TipoServicoVivo.values();
        }
       
        public TipoPlanoVivo[] getTiposPlano() {
                return TipoPlanoVivo.values();
        }
       
}