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.core.generic.GenericService;
import br.com.ec.core.util.DataUtils;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Modelo;
import br.com.ec.domain.service.modelo.ModeloService;
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 ModeloBean
extends AbstractBean
<Modelo
> implements Serializable {
private static final long serialVersionUID = 1L
;
private ModeloService modeloService
;
private Modelo modeloSelecionado
;
private List<Modelo
> listaModelos
;
@Inject
public ModeloBean
(ModeloService modeloService
) {
this.
modeloService = modeloService
;
}
@
Override
public void preCarregamento
() {
entidade =
new Modelo
();
}
@
Override
public void limparEntidade
() {
setEntidade
(new Modelo
());
}
@
Override
public GenericService
<Modelo
> getService
() {
return modeloService
;
}
@
Override
public Modelo getEntidade
() {
return entidade
;
}
@
Override
public Modelo getId
() {
return getEntidade
();
}
@
Override
public void preCadastrar
() {
super.
preCadastrar();
getEntidade
().
setDataCadastro(DataUtils.
getDataAtual());
getEntidade
().
setIndicadorFavorito(true);
}
public Modelo getModeloSelecionado
() {
return modeloSelecionado
;
}
public void setModeloSelecionado
(Modelo modeloSelecionado
) {
this.
modeloSelecionado = modeloSelecionado
;
}
public List<Modelo
> getListaModelos
() {
if (VerificadorUtil.
isListaNulaOuVazia(listaModelos
)) {
setListaModelos
(consultarTodosAtivos
());
}
return listaModelos
;
}
public void setListaModelos
(List<Modelo
> listaModelos
) {
this.
listaModelos = listaModelos
;
}
public List<Modelo
> consultarTodosAtivos
() {
return modeloService.
consultarTodosAtivos();
}
public void atualizarLocalizacaoModelo
() {
new VerificadorLancamentoException
().
tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean
() {
public void execute
() {
modificarEntidadeAntesDaOperacao
();
getService
().
alterar(getModeloSelecionado
());
setModeloSelecionado
(null);
LancadorMensagem.
lancarSucesso(getMensagens
().
get(IDENTIFICADOR_MENSAGEM_CADASTRADO_COM_SUCESSO
));
}
});
}
}