Package br.com.syspartenon.partenon.view

Source Code of br.com.syspartenon.partenon.view.SiteMB

package br.com.syspartenon.partenon.view;

import br.com.syspartenon.partenon.business.EnqueteBC;
import br.com.syspartenon.partenon.business.EntradaAgendaBC;
import br.com.syspartenon.partenon.business.GaleriaBC;
import br.com.syspartenon.partenon.business.ImovelBC;
import br.com.syspartenon.partenon.business.NoticiaBC;
import br.gov.frameworkdemoiselle.message.MessageContext;
import br.gov.frameworkdemoiselle.stereotype.ViewController;
import br.gov.frameworkdemoiselle.util.Parameter;
import br.com.syspartenon.partenon.business.SiteBC;
import br.com.syspartenon.partenon.domain.Enquete;
import br.com.syspartenon.partenon.domain.EnqueteAlternativa;
import br.com.syspartenon.partenon.domain.EntradaAgenda;
import br.com.syspartenon.partenon.domain.Galeria;
import br.com.syspartenon.partenon.domain.Imovel;
import br.com.syspartenon.partenon.domain.Noticia;
import br.com.syspartenon.partenon.domain.Pagina;
import br.com.syspartenon.partenon.domain.Site;
import br.gov.frameworkdemoiselle.message.SeverityType;
import java.util.List;
import javax.inject.Inject;

@ViewController
public class SiteMB {

    @Inject
    private SiteBC business;
    @Inject
    private ImovelBC imovelBC;
    @Inject
    private EntradaAgendaBC entradaAgendaBC;
    @Inject
    private NoticiaBC noticiaBC;
    @Inject
    private GaleriaBC galeriaBC;
    @Inject
    private EnqueteBC enqueteBC;
    private Site bean;
    @Inject
    private Parameter<String> slug;
    @Inject
    private Parameter<String> pagina;
    @Inject
    private MessageContext messageContext;
    @Inject
    private Parameter<Integer> imvId;
    @Inject
    private Parameter<Integer> galId;
    @Inject
    private Parameter<Integer> ntcId;
    @Inject
    private Parameter<Integer> page;
    @Inject
    private SessionSite sessionSite;
    private EnqueteAlternativa alternativaSelecionada;

    public Site getBean() {
        if (this.bean == null) {
            this.bean = new Site();
            if (this.slug.getValue() != null) {
                this.bean = business.load(this.slug.getValue());
            }
        }
        return bean;
    }

    public Pagina getPagina() {
        Pagina returnPage = null;
        for (Pagina p : bean.getPaginaList()) {
            if (p.getPgnTituloPagina().equals(this.pagina.getValue())) {
                returnPage = p;
                break;
            }
        }

        if (returnPage == null) {
            returnPage = new Pagina();
            returnPage.setPgnTituloMenu("Erro 404");
            returnPage.setPgnConteudo("A página que você está tentando acessar não existe.");
        }

        return returnPage;
    }

    public void setBean(Site bean) {
        this.bean = bean;
    }

    public Imovel getImovel() {
        return imovelBC.load(imvId.getValue());
    }

    public EnqueteAlternativa getAlternativaSelecionada() {
        return alternativaSelecionada;
    }

    public void setAlternativaSelecionada(EnqueteAlternativa alternativaSelecionada) {
        this.alternativaSelecionada = alternativaSelecionada;
    }

    public Noticia getNoticia() {
        return noticiaBC.load(ntcId.getValue());
    }

    public Galeria getGaleria() {
        return galeriaBC.load(galId.getValue());
    }

    public List<EntradaAgenda> getUltimosAgenda() {
        return entradaAgendaBC.findLast(getBean().getEvento(), 5);
    }

    public List<Noticia> getUltimasNoticias() {
        return noticiaBC.findLast(getBean().getEvento(), 5);
    }

    public List<Galeria> getGalerias() {
        return galeriaBC.findAll(getBean());
    }

    public List<Noticia> getPaginaNoticias() {
        return noticiaBC.findPage(getBean().getEvento(), page.getValue(), 10);
    }

    public boolean getMostrarPaginaAnterior() {
        return page.getValue() > 1;
    }

    public boolean getMostrarProximaPagina() {
        Long count = noticiaBC.count(getBean().getEvento());
        return (count / 10.0) > page.getValue();
    }

    public Integer getPage() {
        return page.getValue();
    }

    public boolean getExisteEnqueteAtiva() {
        return enqueteBC.existeEnqueteAtiva(getBean().getEvento());
    }

    public Enquete getEnqueteAtiva() {
        return enqueteBC.enqueteAtiva(getBean().getEvento());
    }

    public String votar() {
        try {
            if (alternativaSelecionada == null)
                throw new Exception("Selecione uma alternativa");
           
            enqueteBC.votar(alternativaSelecionada);
            sessionSite.setVotouEnquete(true);
           
            return "site_enquete_resultado.jsf";
        } catch (Exception e) {
            messageContext.add(e.getMessage(), SeverityType.INFO);
            return "site_inicial.jsf";
        }
    }
   
    public String getPartialEnquete(){
        if(sessionSite.isVotouEnquete())
            return "site_inicial_obrigado.xhtml";
        else
            return "site_inicial_enquete.xhtml";
    }
}
TOP

Related Classes of br.com.syspartenon.partenon.view.SiteMB

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.