public bool Juntado(int protocolo, bool isEditar = false)
        {
            try
            {
                ProtocoloNumero retorno = _da.VerificarProtocoloAssociado(protocolo);

                string numero = string.Empty;

                if (retorno != null)
                {
                    numero = retorno.NumeroTexto;
                }

                if (!string.IsNullOrEmpty(numero))
                {
                    if (isEditar)
                    {
                        Validacao.Add(Mensagem.Documento.EditarDocumentoJuntado(numero));
                    }
                    else
                    {
                        Validacao.Add(Mensagem.Documento.DocumentoJuntado(numero));
                    }
                    return(true);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(false);
        }
        public bool ValidarConversao(ProtocoloNumero docNumero, int usuarioId)
        {
            if (docNumero.Id > 0)
            {
                if (docNumero.IsProcesso)
                {
                    Validacao.Add(Mensagem.Documento.InformeNDocumento);
                    return(Validacao.EhValido);
                }

                if (!EmPosse(docNumero.Id, usuarioId))
                {
                    Validacao.Add(Mensagem.Documento.Posse);
                }

                if (docNumero.Tipo != 7 && docNumero.Tipo != 10)                /*Requerimento (nova solicitação) / Declaração*/
                {
                    Validacao.Add(Mensagem.Documento.DocNaoConverter(docNumero.TipoTexto));
                }

                Juntado(docNumero.Id);
            }
            else
            {
                Validacao.Add(Mensagem.Documento.NaoEncontrouRegistros);
            }

            return(Validacao.EhValido);
        }
示例#3
0
        public Documento ObterDocumentoParaConversao(string strDocumentoNumero)
        {
            ProtocoloNumero docNumero = new ProtocoloNumero();
            Documento       doc       = new Documento();

            if (String.IsNullOrWhiteSpace(strDocumentoNumero))
            {
                Validacao.Add(Mensagem.Documento.DocumentoNumeroObrigatorio);
                return(null);
            }

            if (!ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(strDocumentoNumero))
            {
                Validacao.Add(Mensagem.Documento.NumeroInvalido);
                return(null);
            }

            docNumero = new ProtocoloBus().ObterProtocolo(strDocumentoNumero);

            if (_validar.ValidarConversao(docNumero, User.FuncionarioId))
            {
                doc = Obter(docNumero.Id);
            }

            return(doc);
        }
        public ProtocoloNumero VerificarProtocoloAssociado(int associado)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                ProtocoloNumero protocolo = null;

                #region Protocolo

                Comando comando = bancoDeDados.CriarComando(@"
				select p.id, p.numero || '/' || p.ano numero, p.tipo, p.protocolo
				  from tab_protocolo_associado a, tab_protocolo p
				 where a.protocolo = p.id
				   and a.associado = :associado"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        protocolo            = new ProtocoloNumero(reader["numero"].ToString());
                        protocolo.Id         = Convert.ToInt32(reader["id"]);
                        protocolo.Tipo       = Convert.ToInt32(reader["tipo"]);
                        protocolo.IsProcesso = Convert.ToInt32(reader["protocolo"]) == (int)eTipoProtocolo.Processo;
                    }
                    reader.Close();
                }

                #endregion

                return(protocolo);
            }
        }
示例#5
0
        internal ProtocoloNumero ObterProtocolo(int id)
        {
            ProtocoloNumero protocolo = null;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                Comando comando = bancoDeDados.CriarComando(@"select tp.numero || '/' || tp.ano numero_ano, tp.protocolo, tp.tipo,
					(select l.texto from {0}lov_protocolo_tipo l where l.id = tp.tipo) tipo_texto from {0}tab_protocolo tp where tp.id = :id"                    , EsquemaBanco);
                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        protocolo            = new ProtocoloNumero(reader["numero_ano"].ToString());
                        protocolo.Id         = id;
                        protocolo.IsProcesso = Convert.ToInt32(reader["protocolo"]) == 1;
                        protocolo.Tipo       = Convert.ToInt32(reader["tipo"]);
                        protocolo.TipoTexto  = reader["tipo_texto"].ToString();
                    }

                    reader.Close();
                }
            }
            return(protocolo);
        }
示例#6
0
        public ProtocoloLocalizacao ObterLocalizacao(Documento doc, ProtocoloLocalizacao localizacao = null)
        {
            ProtocoloLocalizacao loc = localizacao == null ? new ProtocoloLocalizacao() : localizacao;

            if (loc.ProcessoPaiId <= 0)
            {
                ProtocoloNumero processoPai = ProtocoloAssociado(doc.Id.GetValueOrDefault()) ?? new ProtocoloNumero();
                if (processoPai.Id > 0)
                {
                    loc.ProcessoPaiId     = processoPai.Id;
                    loc.ProcessoPaiNumero = processoPai.NumeroTexto;
                    ProcessoBus _busProcesso = new ProcessoBus();
                    return(_busProcesso.ObterLocalizacao(loc.ProcessoPaiId, loc));
                }
            }

            TramitacaoBus _busTramitacao = new TramitacaoBus(new TramitacaoValidar());

            loc.Tramitacao.Id = _busTramitacao.ObterTramitacaoProtocolo(doc.Id.GetValueOrDefault());

            if (loc.Tramitacao.Id > 0)
            {
                loc.Tramitacao = _busTramitacao.Obter(loc.Tramitacao.Id);
                if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.Arquivado)
                {
                    loc.Localizacao = eLocalizacaoProtocolo.Arquivado;
                    ArquivarBus _arquivarBus = new ArquivarBus();
                    Arquivar    arquivamento = _arquivarBus.ObterArquivamento(loc.Tramitacao.Id);
                    loc.ArquivoNome = arquivamento.ArquivoNome;
                }
                else if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.ParaOrgaoExterno)
                {
                    loc.Localizacao      = eLocalizacaoProtocolo.OrgaoExterno;
                    loc.OrgaoExternoNome = loc.Tramitacao.OrgaoExterno.Texto;
                }
                else if (loc.Tramitacao.SituacaoId == (int)eTramitacaoSituacao.Tramitando)
                {
                    if (loc.Tramitacao.Destinatario.Id == 0)
                    {
                        loc.Localizacao = eLocalizacaoProtocolo.EnviadoParaSetor;
                    }
                    else
                    {
                        loc.Localizacao = eLocalizacaoProtocolo.EnviadoParaFuncionario;
                        loc.FuncionarioDestinatarioNome = loc.Tramitacao.Destinatario.Nome;
                    }
                }
            }
            else             // se não existir tramitação, ele está na posse de algum funcionário
            {
                loc.Localizacao = eLocalizacaoProtocolo.PosseFuncionario;
                TramitacaoPosse posse = _busTramitacao.ObterProtocoloPosse(doc.Id.GetValueOrDefault());
                loc.FuncionarioDestinatarioNome = posse.FuncionarioNome;
                loc.SetorDestinatarioNome       = posse.SetorNome;
            }
            return(loc);
        }
        public string Juntado(string numero)
        {
            ProtocoloNumero retorno = _protocoloDa.VerificarProtocoloAssociado(_protocoloDa.ExisteProtocolo(numero));

            if (retorno != null)
            {
                return(retorno.NumeroTexto);
            }
            return(string.Empty);
        }
示例#8
0
        public int ProtocoloAssociado(int protocolo)
        {
            ProtocoloNumero retorno = _da.VerificarProtocoloAssociado(protocolo);

            if (retorno != null)
            {
                return(retorno.Id);
            }
            return(0);
        }
示例#9
0
        public string VerificarDocumentoJuntadoNumero(int protocolo)
        {
            ProtocoloNumero retorno = _da.VerificarProtocoloAssociado(protocolo);

            if (retorno != null)
            {
                return(retorno.NumeroTexto);
            }
            return(string.Empty);
        }
示例#10
0
        public ProtocoloNumero ProcessoEntregaTitulo(string numero)
        {
            ProtocoloNumero protocolo = new ProtocoloNumero();

            ValidarProtocoloNumero(numero);

            if (!Validacao.EhValido)
            {
                return(protocolo);
            }

            protocolo = _busProc.ObterProtocolo(numero);

            if (protocolo.Id == 0)
            {
                if (protocolo.IsProcesso)
                {
                    Validacao.Add(Mensagem.Entrega.ProtocoloNaoExiste);
                }
                else
                {
                    Validacao.Add(Mensagem.Entrega.ProtocoloNaoExiste);
                }
            }

            if (!Validacao.EhValido)
            {
                return(protocolo);
            }

            int processoId = 0;

            if (protocolo.IsProcesso)
            {
                processoId = _busProc.ProcessoApensado(protocolo.Id);

                if (processoId != 0)
                {
                    Processo processo = _busProc.ObterSimplificado(processoId);
                    Validacao.Add(Mensagem.Entrega.ProcessoApenso(processo.Numero));
                }
            }
            else
            {
                ProtocoloNumero processoPai = _busDoc.ProtocoloAssociado(protocolo.Id);

                if (processoPai != null && processoPai.Id != 0)
                {
                    Validacao.Add(Mensagem.Entrega.DocumentoJuntado(processoPai.NumeroTexto));
                }
            }

            return(protocolo);
        }
示例#11
0
 public Protocolo(ProtocoloNumero protocoloNumero)
 {
     Id = protocoloNumero.Id;
     NumeroProtocolo = protocoloNumero.Numero;
     Ano             = protocoloNumero.Ano;
     IsProcesso      = protocoloNumero.IsProcesso;
     if (protocoloNumero.Tipo.HasValue)
     {
         Tipo.Id    = protocoloNumero.Tipo.Value;
         Tipo.Texto = protocoloNumero.TipoTexto;
     }
 }
        public bool Apensado(int protocolo)
        {
            ProtocoloNumero retorno = _protocoloDa.VerificarProtocoloAssociado(protocolo);
            string          numero  = string.Empty;

            if (retorno != null)
            {
                numero = retorno.NumeroTexto;
            }

            if (!string.IsNullOrEmpty(numero))
            {
                Validacao.Add(Msg.EditarProcessoApensado(numero));
                return(true);
            }

            return(false);
        }
        internal bool VerificarProtocolo(ProtocoloNumero protocolo)
        {
            if (String.IsNullOrWhiteSpace(protocolo.NumeroTexto))
            {
                Validacao.Add(Mensagem.AnaliseItem.NumeroObrigatorio);
                return(false);
            }

            if (!ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(protocolo.NumeroTexto))
            {
                Validacao.Add(Mensagem.AnaliseItem.NumeroInvalido);
                return(false);
            }

            if (protocolo.Id == 0)
            {
                Validacao.Add(Mensagem.AnaliseItem.NumeroInexistente);
                return(false);
            }

            string retorno = _busProtocolo.VerificarProtocoloAssociadoNumero(_busProtocolo.ExisteProtocolo(protocolo.NumeroTexto));

            if (!String.IsNullOrEmpty(retorno))
            {
                Validacao.Add(protocolo.IsProcesso ? Mensagem.AnaliseItem.ProcessoApensado(retorno) : Mensagem.AnaliseItem.DocumentoJuntado(retorno));
                return(false);
            }

            if (!_busProtocolo.EmPosse(protocolo.Id))
            {
                Validacao.Add(Mensagem.AnaliseItem.ProtocoloSemPosse);
                return(false);
            }

            if (!_busProtocolo.ExisteRequerimento(protocolo.Id, exibirMsg: false))
            {
                Validacao.Add(Mensagem.AnaliseItem.ExisteRequerimento);
                return(false);
            }

            return(Validacao.EhValido);
        }
示例#14
0
        public PecaTecnica VerificarProtocolo(string numero)
        {
            PecaTecnica pecaTecnica = new PecaTecnica();

            ProtocoloNumero protocolo = _busProtocolo.ObterProtocolo(numero) ?? new ProtocoloNumero();

            pecaTecnica.Protocolo = new Protocolo(protocolo);

            try
            {
                if (_validar.VerificarProtocolo(protocolo))
                {
                    pecaTecnica.Protocolo.Id = protocolo.Id;
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(pecaTecnica);
        }
示例#15
0
        public AnaliseItem VerificarProtocolo(string numero)
        {
            AnaliseItem analiseItem = new AnaliseItem();

            ProtocoloNumero protocolo = _daProtocolo.ObterProtocolo(numero);

            analiseItem.IsProcesso = protocolo.IsProcesso;

            try
            {
                if (_validar.VerificarProtocolo(protocolo))
                {
                    analiseItem.Requerimentos = _daProtocolo.ObterProtocoloRequerimentos(protocolo.Id);
                    analiseItem.Protocolo.Id  = protocolo.Id;
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(analiseItem);
        }
 public ListarProtocoloFiltro()
 {
     Protocolo = new ProtocoloNumero();
 }
示例#17
0
 public TituloFiltro()
 {
     Protocolo        = new ProtocoloNumero();
     ModeloFiltrar    = new List <Int32>();
     SituacoesFiltrar = new List <Int32>();
 }
示例#18
0
        public Resultados <Titulo> Filtrar(Filtro <TituloFiltro> filtros, BancoDeDados banco = null)
        {
            Resultados <Titulo> retorno = new Resultados <Titulo>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.AdicionarIn("and", "t.situacao_id", DbType.Int32, new List <int>()
                {
                    3, 5, 6
                });
                comandtxt += comando.FiltroIn("t.modelo_id", "select re.modelo from tab_titulo_modelo_regras re where re.regra = :regra", "regra", 8);

                comandtxt += comando.FiltroAnd("t.modelo_id", "modelo", filtros.Dados.Modelo);

                comandtxt += comando.FiltroAnd("t.setor_id", "setor", filtros.Dados.Setor);

                comandtxt += comando.FiltroAndLike("t.numero || '/' || t.ano", "numero", filtros.Dados.Numero, true);

                comandtxt += comando.FiltroAndLike("t.protocolo_numero", "protocolo_numero", filtros.Dados.Protocolo.NumeroTexto, true);

                comandtxt += comando.FiltroAndLike("t.empreendimento_denominador", "empreendimento", filtros.Dados.Empreendimento, true);

                if (filtros.Dados.Modelo <= 0 && filtros.Dados.ModeloFiltrar != null && filtros.Dados.ModeloFiltrar.Count > 0)
                {
                    comandtxt += comando.AdicionarIn("and", "t.modelo_id", DbType.Int32, filtros.Dados.ModeloFiltrar.Select(x => x).ToList());
                }

                if (filtros.Dados.SituacoesFiltrar != null && filtros.Dados.SituacoesFiltrar.Count > 0)
                {
                    comandtxt += comando.AdicionarIn("and", "t.situacao_id", DbType.Int32, filtros.Dados.SituacoesFiltrar.Select(x => x).ToList());
                }

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "numero", "modelo_sigla", "protocolo_numero", "empreendimento", "situacao_texto", "data_vencimento"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("numero");
                }

                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format(@"select count(*) from {0}lst_titulo t where t.id > 0 " + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select t.titulo_id id, t.titulo_tid, t.numero_completo, t.data_vencimento, t.autor_id, t.autor_nome, t.modelo_sigla, t.situacao_texto, t.modelo_id,
				t.modelo_nome, t.protocolo_id, t.protocolo protocolo_tipo, t.protocolo_numero, t.empreendimento_denominador empreendimento from 
				{0}lst_titulo t where 1 = 1 "                 + comandtxt + DaHelper.Ordenar(colunas, ordenar),
                                          (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    Titulo titulo;
                    while (reader.Read())
                    {
                        titulo            = new Titulo();
                        titulo.Id         = Convert.ToInt32(reader["id"]);
                        titulo.Autor.Id   = Convert.ToInt32(reader["autor_id"]);
                        titulo.Autor.Nome = reader["autor_nome"].ToString();
                        titulo.Tid        = reader["titulo_tid"].ToString();

                        if (reader["numero_completo"] != null && !Convert.IsDBNull(reader["numero_completo"]))
                        {
                            titulo.Numero.Texto = reader["numero_completo"].ToString();
                        }

                        if (reader["modelo_id"] != null && !Convert.IsDBNull(reader["modelo_id"]))
                        {
                            titulo.Modelo.Id = Convert.ToInt32(reader["modelo_id"]);
                        }

                        if (reader["modelo_sigla"] != null && !Convert.IsDBNull(reader["modelo_sigla"]))
                        {
                            titulo.Modelo.Sigla = reader["modelo_sigla"].ToString();
                        }

                        if (reader["modelo_nome"] != null && !Convert.IsDBNull(reader["modelo_nome"]))
                        {
                            titulo.Modelo.Nome = reader["modelo_nome"].ToString();
                        }

                        if (reader["situacao_texto"] != null && !Convert.IsDBNull(reader["situacao_texto"]))
                        {
                            titulo.Situacao.Nome = reader["situacao_texto"].ToString();
                        }

                        titulo.Protocolo.IsProcesso = (reader["protocolo_tipo"] != null && Convert.ToInt32(reader["protocolo_tipo"]) == 1);

                        if (reader["protocolo_id"] != null && !Convert.IsDBNull(reader["protocolo_id"]))
                        {
                            ProtocoloNumero prot = new ProtocoloNumero(reader["protocolo_numero"].ToString());
                            titulo.Protocolo.Id = Convert.ToInt32(reader["protocolo_id"]);
                            titulo.Protocolo.NumeroProtocolo = prot.Numero;
                            titulo.Protocolo.Ano             = prot.Ano;
                        }

                        if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"]))
                        {
                            titulo.EmpreendimentoTexto = reader["empreendimento"].ToString();
                        }

                        if (reader["data_vencimento"] != null && !Convert.IsDBNull(reader["data_vencimento"]))
                        {
                            titulo.DataVencimento.Data = Convert.ToDateTime(reader["data_vencimento"]);
                        }

                        retorno.Itens.Add(titulo);
                    }

                    reader.Close();

                    #endregion
                }
            }

            return(retorno);
        }
示例#19
0
        public bool Associado(int protocolo)
        {
            ProtocoloNumero retorno = _da.VerificarProtocoloAssociado(protocolo);

            return(retorno != null);
        }
 public ListarTramitacaoFiltro()
 {
     Protocolo = new ProtocoloNumero();
 }
示例#21
0
        internal Resultados <Entrega> Filtrar(Filtro <ListarEntregaFiltro> filtros, BancoDeDados banco = null)
        {
            Resultados <Entrega> retorno = new Resultados <Entrega>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                string          comandtxt = string.Empty;
                Comando         comando   = bancoDeDados.CriarComando("");
                ProtocoloNumero protocolo;

                #region Adicionando Filtros

                //Protocolo Número
                if (!String.IsNullOrWhiteSpace(filtros.Dados.NumeroProtocolo))
                {
                    comandtxt += "e.protocolo in (select p.id from {0}tab_protocolo p where p.numero :numero and p.ano = :ano)";
                    protocolo  = new ProtocoloNumero(filtros.Dados.NumeroProtocolo);
                    comando.AdicionarParametroEntrada("numero", protocolo.Numero, DbType.Int32);
                    comando.AdicionarParametroEntrada("ano", protocolo.Ano, DbType.Int32);
                }

                //Título Número
                comandtxt += comando.FiltroIn("e.id", String.Format(@"select e.entrega from {0}tab_titulo_entrega_titulos e, {0}tab_titulo t where e.titulo = t.id
            and t.numero like upper(:titulo_numero)", (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "titulo_numero", filtros.Dados.NumeroTitulo + "%");

                //Empreendimento Denominador
                comandtxt += comando.FiltroIn("e.id", String.Format(@"select e.entrega from {0}tab_titulo_entrega_titulos e, {0}tab_titulo t, {0}tab_empreendimento d where e.titulo = t.id
            and t.empreendimento = d.id and d.denominador like upper(:empreendimento_denominador)", (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")), "empreendimento_denominador", filtros.Dados.Empreendimento + "%");

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "numero,ano", "empreendimento", "data_entrega"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("protocolo_numero");
                }

                #endregion

                #region Quantidade de registro do resultado

                comando.DbCommand.CommandText = String.Format("select count(*) from {0}tab_titulo_entrega e where e.id > 0" + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select e.id, p.protocolo, p.id protocolo_id, p.numero, p.ano,
				(select te.denominador from {0}tab_empreendimento te where te.id = p.empreendimento) empreendimento,
				e.pessoa pessoa_id, e.nome, e.cpf, e.data_entrega, e.tid from {0}tab_titulo_entrega e, {0}tab_protocolo p where e.protocolo = p.id"
                                          + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."));

                comando.DbCommand.CommandText = @"select * from (select a.*, rownum rnum from ( " + comandtxt + @") a) where rnum <= :maior and rnum >= :menor";

                #endregion

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    #region Adicionando os dados na classe de retorno

                    Entrega entrega;

                    while (reader.Read())
                    {
                        entrega      = new Entrega();
                        entrega.Id   = Convert.ToInt32(reader["id"]);
                        entrega.Tid  = reader["tid"].ToString();
                        entrega.Nome = reader["nome"].ToString();
                        entrega.CPF  = reader["cpf"].ToString();

                        if (reader["protocolo"] != null && !Convert.IsDBNull(reader["protocolo"]))
                        {
                            entrega.Protocolo.IsProcesso = reader["protocolo"].ToString() == "1";
                        }

                        entrega.Protocolo.Id = Convert.ToInt32(reader["protocolo_id"]);
                        entrega.Protocolo.NumeroProtocolo = Convert.ToInt32(reader["numero"]);
                        entrega.Protocolo.Ano             = Convert.ToInt32(reader["ano"]);

                        if (reader["empreendimento"] != null && !Convert.IsDBNull(reader["empreendimento"]))
                        {
                            entrega.EmpreendimentoDenominador = reader["empreendimento"].ToString();
                        }

                        if (reader["pessoa_id"] != null && !Convert.IsDBNull(reader["pessoa_id"]))
                        {
                            entrega.PessoaId = Convert.ToInt32(reader["pessoa_id"]);
                        }

                        if (reader["data_entrega"] != null && !Convert.IsDBNull(reader["data_entrega"]))
                        {
                            entrega.DataEntrega.Data = Convert.ToDateTime(reader["data_entrega"]);
                        }

                        retorno.Itens.Add(entrega);
                    }

                    reader.Close();

                    #endregion
                }
            }

            return(retorno);
        }