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.consulta.ParametrosConsulta;
import br.com.ec.core.generic.GenericService;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.Maquineta;
import br.com.ec.domain.model.Pessoa;
import br.com.ec.domain.service.maquineta.MaquinetaService;
import br.com.ec.web.exception.VerificadorLancamentoException;
import br.com.ec.web.exception.VerificadorLancamentoException.CommandBean;
import br.com.ec.web.generic.AbstractBean;
@Named
@Scope
("view")
public class MaquinetaBean
extends AbstractBean
<Maquineta
> implements Serializable {
private static final long serialVersionUID = 1L
;
private MaquinetaService maquinetaService
;
private Maquineta maquinetaSelecionada
;
private List<Maquineta
> maquinetas
;
@Inject
public MaquinetaBean
(MaquinetaService maquinetaService
) {
this.
maquinetaService = maquinetaService
;
}
@
Override
public void preCarregamento
() {
if (VerificadorUtil.
estaNulo(parametrosConsulta
)) {
entidade =
new Maquineta
();
parametrosConsulta =
new ParametrosConsulta
<Maquineta
>();
parametrosConsulta.
setEntidade(entidade
);
}
}
@
Override
public void limparEntidade
() {
Maquineta maquineta =
new Maquineta
();
setEntidade
(maquineta
);
}
@
Override
public GenericService
<Maquineta
> getService
() {
return maquinetaService
;
}
@
Override
public Maquineta getEntidade
() {
return entidade
;
}
@
Override
public Maquineta getId
() {
return getEntidade
();
}
public Maquineta getMaquinetaSelecionada
() {
return maquinetaSelecionada
;
}
public void setMaquinetaSelecionada
(Maquineta maquinetaSelecionada
) {
this.
maquinetaSelecionada = maquinetaSelecionada
;
}
public List<Maquineta
> getMaquinetas
() {
if (VerificadorUtil.
estaNulo(maquinetas
)) {
setMaquinetas
(maquinetaService.
consultarTodos(new Maquineta
()));
}
return maquinetas
;
}
public void setMaquinetas
(List<Maquineta
> maquinetas
) {
this.
maquinetas = maquinetas
;
}
public List<Maquineta
> listarMaquinetasAtivas
() {
return maquinetaService.
listarMaquinetasAtivas();
}
public void prepararConsulta
() {
setMaquinetas
(maquinetaService.
consultarPassandoEntidade(getParametrosConsulta
().
getEntidade(),
0, maquinetaService.
obterQuantidadeDeRegistrosPassandoEntidade(getParametrosConsulta
().
getEntidade())));
}
public void selecionarPessoa
(final Pessoa pessoa
) {
new VerificadorLancamentoException
().
tratarIhRelancarExcecaoSemLimparEntidade(new CommandBean
() {
public void execute
() {
getEntidade
().
setPessoa(pessoa
);
adicionandoParametroArgsConfirmandoAcao
(true);
}
});
}
public void retirarPessoa
() {
getEntidade
().
setPessoa(null);
}
@
Override
public void cadastrar
() {
super.
cadastrar();
prepararConsulta
();
}
}