<?php

include_once 'prepareSql.php';

class SqlEvento {

    private $conexao;

    function __construct($conexao) {
        $this->conexao = $conexao;
    }

    function getEventos($param) {
        $sql = "select a.id_evento,  a.nome, a.data_evento, a.hora, b.descricao as tipo_evento, 
                b.abreviacao, a.cancelado, DAY(a.data_evento) dia
		from evento a, tipo_evento b
		where a.id_tipo_evento = b.id_tipo_evento
		and a.id_empresa = :id_empresa
		and MONTH(a.data_evento) = :mes
		and YEAR(a.data_evento) = :ano";

        return executa::SQL($this->conexao, $sql, $param);
    }

    function searchEventosSimples($param) {

        $dados_formatados = str_replace(' ', '%', $param['dados']);

        $sql = "SELECT b.id_evento, b.data_evento, b.nome, b.hora, b.tel_residencial, b.tel_comercial, b.tel_celular, c.descricao tipo_evento
		FROM evento_localizador a, evento b, tipo_evento c
		where b.id_evento = a.id_evento
		and c.id_tipo_evento = b.id_tipo_evento
		and b.id_empresa = :id_empresa
		and a.localizador like '%$dados_formatados%'";
        return executa::SQL($this->conexao, $sql, $param);
    }

    function searchEventosProfundo($param) {

        $dados_formatados = str_replace(' ', '%', $param['dados']);


        $sql = "select a.id_evento, a.data_evento, a.nome, a.hora, a.tel_residencial, a.tel_comercial, a.tel_celular, b.descricao tipo_evento
			from evento a, tipo_evento b
			where a.id_tipo_evento = b.id_tipo_evento
			and a.id_empresa = :id_empresa
			and concat(a.nome, ' ',b.descricao, ' ', a.tel_residencial, ' ', a.tel_comercial, ' ', tel_celular, ' ',
			day(a.data_evento),'/', month(a.data_evento), '/',year(a.data_evento)) like '%$dados_formatados%'
			order by a.data_evento desc, a.nome, b.descricao
                         limit :skip, :maxItem";
        return executa::SQL($this->conexao, $sql, $param);
    }

    function getEventosDaySmall($param) {
        $sql = "select a.id_evento,  a.nome, a.data_evento, a.hora, b.descricao as tipo_evento, 
                b.abreviacao, a.cancelado, DAY(a.data_evento) dia
		from evento a, tipo_evento b
		where a.id_tipo_evento = b.id_tipo_evento
		and a.id_empresa = :id_empresa
                and a.data_evento = :data_evento";

        return executa::SQL($this->conexao, $sql, $param);
    }

    function getEventoIdEvento($param) {
        $sql = "select a.id_evento,  a.nome, a.data_evento, a.hora, b.descricao as tipo_evento, 
                b.abreviacao, a.cancelado, DAY(a.data_evento) dia
		from evento a, tipo_evento b
		where a.id_tipo_evento = b.id_tipo_evento
		and a.id_empresa = :id_empresa
                and a.id_evento = :id_evento";

        return executa::SQL($this->conexao, $sql, $param);
    }

    function getPrevia($param) {
        $sql = "select a.id_evento, a.hora, a.data, c.nome, b.nome as previa, DAY(a.data) dia, 'PV' abreviacao
                    from evento_previa a, evento c, local_previa b
                    where a.id_evento = c.id_evento 
                    and a.id_local_previa = b.id_local_previa
                    and MONTH(a.data) = :mes
                    and YEAR(a.data) = :ano
                    and a.id_empresa = :id_empresa";
        return executa::SQL($this->conexao, $sql, $param);
    }

    function getEventoDayBig($param) {
        $sql = "select a.id_evento, a.data_evento, a.nome, a.hora, a.data_cadastro,
                a.tel_residencial, a.tel_comercial, a.tel_celular, a.website, a.valor,
                a.obs, a.criador, a.hora_criado, a.bloqueado,
		b.descricao as tipo_evento, b.id_tipo_evento, a.web_site_config, a.cancelado
		from evento a, tipo_evento b
		where a.id_tipo_evento = b.id_tipo_evento
		and a.id_empresa = :id_empresa
		and a.id_evento = :id_evento";
        return executa::SQL($this->conexao, $sql, $param);
    }

    function getLocalEvento($param) {
        $sql = "select a.id_evento, a.id_empresa, a.id_salao_igreja, b.nome nomeLocal, b.endereco enderecoLocal, b.bairro bairroLocal
		from evento_local_evento a, salao_igreja b
		where b.id_salao_igreja = a.id_salao_igreja
		and a.id_evento = :id_evento
		and a.id_empresa = :id_empresa";
        return executa::SQL($this->conexao, $sql, $param);
    }

    function getSalaoFesta($param) {
        $sql = "select a.id_salao_igreja, b.nome nomeSalao, b.endereco enderecoSalao, b.bairro bairroSalao
		from evento_local_festa a, salao_igreja b
		where b.id_salao_igreja = a.id_salao_igreja
		and a.id_evento = :id_evento
		and a.id_empresa = :id_empresa";
        return executa::SQL($this->conexao, $sql, $param);
    }

    function getSeAniversario($param) {
        $sql = "select nome nome_niv, idade, tema 
                from se_aniversario
		 where id_evento = :id_evento
		 and id_empresa = :id_empresa";
        return executa::SQL($this->conexao, $sql, $param);
    }

    function getSeCasamento($param) {
        $sql = "select noiva, noivo 
                from se_casamento
		where id_evento = :id_evento
		and id_empresa = :id_empresa";
        return executa::SQL($this->conexao, $sql, $param);
    }

}
