Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.edu.cesmac.sic.controller.beans;

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

import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.inject.Named;

import org.primefaces.event.SelectEvent;
import org.springframework.context.annotation.Scope;

import br.edu.cesmac.core.generic.GenericService;
import br.edu.cesmac.sac.shared.views.CursoView;
import br.edu.cesmac.sic.controller.beans.consultademanda.AvaliadorConsultaPorDemanda;
import br.edu.cesmac.sic.core.domain.model.Area;
import br.edu.cesmac.sic.core.domain.model.Avaliador;
import br.edu.cesmac.sic.core.domain.model.dto.ParametrosConsultaAvaliadorDTO;
import br.edu.cesmac.sic.core.domain.service.AreaService;
import br.edu.cesmac.sic.core.domain.service.AvaliadorService;
import br.edu.cesmac.views.PessoaView;
import br.edu.cesmac.web.generic.AbstractBean;

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

        private static final long serialVersionUID = 1L;
       
        private AvaliadorConsultaPorDemanda lazy;

        private AvaliadorService avaliadorService;
       
        private List<Area> listaArea;
        private AreaService areaService;
       
        @Inject
        public AvaliadorBean(AvaliadorConsultaPorDemanda lazy, AvaliadorService avaliadorService, AreaService areaService) {
                this.lazy = lazy;
                this.avaliadorService = avaliadorService;
                this.areaService = areaService;
        }

        @Override
        public Avaliador getId() {
                return getEntidade();
        }

        @Override
        public GenericService<Avaliador> getService() {
                return avaliadorService;
        }

        @Override
        public void limparEntidade() {
                setEntidade(new Avaliador());
        }
       
        @Override
        public Avaliador getEntidade() {
                return entidade;
        }

        public AvaliadorConsultaPorDemanda getLazy() {
                return lazy;
        }
       
        public void prepararConsultaDemanda() {
                lazy.setarParametrosConsulta(getParametrosConsulta());
        }
       
        @PostConstruct
        public void preCarregamento() {
                parametrosConsulta = new ParametrosConsultaAvaliadorDTO();
                parametrosConsulta.setEntidade(new Avaliador());
                prepararConsultaDemanda();
                setListaArea(consultarTodasAreas());
        }
       
        public void limparParametrosConsulta() {
                preCarregamento();
        }
       
        public void selecionarCurso(SelectEvent event) {
                getEntidade().setCurso(((CursoView) event.getObject()));
        }
       
        public void retirarCurso() {
                getEntidade().setCurso(null);
        }
       
        public void selecionarPessoa(SelectEvent event) {
                getEntidade().setPessoa((PessoaView) event.getObject());
        }
       
        public void retirarPessoa() {
                getEntidade().setPessoa(null);
        }
       
        public List<Area> getListaArea() {
                return listaArea;
        }

        public void setListaArea(List<Area> listaArea) {
                this.listaArea = listaArea;
        }
       
        public List<Area> consultarTodasAreas() {
                return areaService.consultarTodos(new Area());
        }
       
}