public List <EstruturaPresenca> RelatorioPresencas(string dataInicial, string dataFinal, int AssinaturaTipo, int ano)
        {
            List <EstruturaPresenca> relatorioCompleto = new List <EstruturaPresenca>();

            BD bd = new BD();

            try
            {
                string     relatorio     = @"rel_PresencasAssinaturas {0} , {1} , '{2}' ";
                List <int> res           = BuscarApresentacoesAcessoCadastrado(bd, dataInicial, dataFinal, AssinaturaTipo, ano);
                string     apresentacoes = Utilitario.ArrayToString(res.ToArray());

                relatorio = string.Format(relatorio, AssinaturaTipo, ano, apresentacoes);

                while (bd.Consulta(relatorio).Read())
                {
                    EstruturaPresenca ln = new EstruturaPresenca();

                    ln.ApresentacaoID      = bd.LerInt("ApresentacaoID");
                    ln.Assinantes          = bd.LerInt("Assinantes");
                    ln.Avulsas             = bd.LerInt("Avulsas");
                    ln.CapacidadeSala      = bd.LerInt("CapacidadeSala");
                    ln.Cortesias           = bd.LerInt("Cortesias");
                    ln.DataApresentacao    = bd.LerDateTime("Horario");
                    ln.PublicoPrevisto     = bd.LerInt("PublicoPrevisto");
                    ln.PresencasAssinantes = bd.LerInt("PresencasAssinantes");
                    ln.PresencasAvulsas    = bd.LerInt("PresencasAvulsas");
                    ln.PresencasCortesias  = bd.LerInt("PresencasCortesias");
                    relatorioCompleto.Add(ln);
                }
            }
            catch { }
            finally
            {
                bd.Fechar();
            }

            return(relatorioCompleto);
        }