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();
}
}