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.domain.model.ContaBancaria;
import br.com.ec.domain.model.Pessoa;
import br.com.ec.domain.model.tipos.TipoContaBancaria;
import br.com.ec.domain.service.contabancaria.ContaBancariaService;
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 ContaBancariaBean
extends AbstractBean
<ContaBancaria
> implements Serializable {
private static final long serialVersionUID = 1L
;
private ContaBancariaService contaBancariaService
;
private ContaBancaria contaBancariaSelecionado
;
@Inject
public ContaBancariaBean
(ContaBancariaService contaBancariaService
) {
this.
contaBancariaService = contaBancariaService
;
}
@
Override
public void preCarregamento
() {
entidade =
new ContaBancaria
();
parametrosConsulta =
new ParametrosConsulta
<ContaBancaria
>();
parametrosConsulta.
setEntidade(entidade
);
}
@
Override
public void limparEntidade
() {
ContaBancaria contaBancaria =
new ContaBancaria
();
setEntidade
(contaBancaria
);
}
@
Override
public GenericService
<ContaBancaria
> getService
() {
return contaBancariaService
;
}
@
Override
public ContaBancaria getEntidade
() {
return entidade
;
}
@
Override
public ContaBancaria getId
() {
return getEntidade
();
}
public TipoContaBancaria
[] getTiposContaBancaria
() {
return TipoContaBancaria.
values();
}
public ContaBancaria getContaBancariaSelecionado
() {
return contaBancariaSelecionado
;
}
public void setContaBancariaSelecionado
(ContaBancaria contaBancariaSelecionado
) {
this.
contaBancariaSelecionado = contaBancariaSelecionado
;
}
public List<ContaBancaria
> listarContaBancariasAtivas
() {
return contaBancariaService.
listarContaBancariasAtivas();
}
public List<ContaBancaria
> listarContaBancarias
() {
return contaBancariaService.
consultarTodos(new ContaBancaria
());
}
public Double saldoTotalContas
() {
return contaBancariaService.
consultarSaldo(null);
}
public Double saldoConta
(ContaBancaria contaBancaria
) {
return contaBancariaService.
consultarSaldo(contaBancaria
);
}
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);
}
}