internal Outros ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Outros                    outros        = new Outros();
            InformacaoCorteBus        infoCorteBus  = new InformacaoCorteBus();
            InformacaoCorte           infoCorte     = null;
            InformacaoCorteInformacao infoCorteInfo = null;
            int infoCorteInfoId = 0;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Dados do Titulo

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);

                outros.Titulo = dados.Titulo;
                outros.Titulo.SetorEndereco = DaEsp.ObterEndSetor(outros.Titulo.SetorId);
                outros.Protocolo            = dados.Protocolo;
                outros.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Especificidade

                Comando comando = bancoDeDados.CriarComando(@" select e.destinatario, e.informacao_corte from {0}esp_out_informacao_corte e where e.titulo = :titulo ", EsquemaBanco);

                comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        outros.Destinatario = _daEsp.ObterDadosPessoa(reader.GetValue <int>("destinatario"), outros.Empreendimento.Id, bancoDeDados);
                        infoCorteInfoId     = reader.GetValue <int>("informacao_corte");
                    }

                    reader.Close();
                }

                #endregion

                #region Dominialidade

                DominialidadeBus _dominialidadeBus = new DominialidadeBus();

                outros.Dominialidade = new DominialidadePDF(_dominialidadeBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados));

                #endregion

                #region Informação de corte

                infoCorte = infoCorteBus.ObterPorEmpreendimento(outros.Empreendimento.Id.GetValueOrDefault(), banco: bancoDeDados);

                if (infoCorte != null)
                {
                    infoCorteInfo = infoCorte.InformacoesCortes.SingleOrDefault(x => x.Id == infoCorteInfoId);

                    if (infoCorteInfo != null)
                    {
                        outros.InformacaoCorteInfo = new InformacaoCorteInfoPDF(infoCorteInfo);
                    }
                }

                #endregion
            }

            return(outros);
        }