예제 #1
0
        public ChecagemPendencia ObterDeTituloDePendencia(int tituloId)
        {
            TituloBus         _busTitulo = new TituloBus();
            ChecagemPendencia checkPend  = new ChecagemPendencia();
            Titulo            titulo     = _busTitulo.Obter(tituloId);
            OficioNotificacao notPend    = _busPend.Obter(tituloId) as OficioNotificacao;

            String protocoloNumero      = "";
            String protocoloInteressado = "";

            if (titulo.Protocolo.IsProcesso)
            {
                ProcessoBus processoBus = new ProcessoBus();
                Processo    processo    = processoBus.Obter(titulo.Protocolo.Id.Value);
                protocoloNumero      = processo.Numero;
                protocoloInteressado = processo.Interessado.NomeRazaoSocial;
            }
            else             // documento
            {
                DocumentoBus documentoBus = new DocumentoBus();
                Documento    documento    = documentoBus.Obter(titulo.Protocolo.Id.Value);
                protocoloNumero      = documento.Numero;
                protocoloInteressado = documento.Interessado.NomeRazaoSocial;
            }

            if (Validacao.EhValido && !String.IsNullOrWhiteSpace(protocoloNumero))
            {
                checkPend.Id               = notPend.Id.Value;
                checkPend.TituloId         = titulo.Id;
                checkPend.TituloNumero     = titulo.Numero.Texto;
                checkPend.TituloTipoSigla  = titulo.Modelo.Sigla;
                checkPend.TituloVencimento = titulo.DataVencimento;
                checkPend.ProtocoloNumero  = protocoloNumero;
                checkPend.InteressadoNome  = protocoloInteressado;

                List <Situacao> situacoesItem        = _busLista.SituacaoChecagemPendenciaItem;
                Situacao        situacaoNaoConferido = situacoesItem.First(x => x.Id == 1);
                foreach (AnaliseItemEsp item in notPend.Itens)
                {
                    ChecagemPendenciaItem checkPendItem = ChecagemPendenciaItem.FromAnaliseItemEsp(item);
                    checkPendItem.SituacaoId    = situacaoNaoConferido.Id;
                    checkPendItem.SituacaoTexto = situacaoNaoConferido.Texto;
                    checkPend.Itens.Add(checkPendItem);
                }
            }

            return(checkPend);
        }
예제 #2
0
        internal ChecagemPendencia Obter(int id, bool simplificado = false)
        {
            ChecagemPendencia pendencia = new ChecagemPendencia();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region Checagem de Pendências

                Comando comando = bancoDeDados.CriarComando(@"select c.id, c.tid, c.numero, c.titulo, c.situacao situacao_id, 
				(select ls.texto from {0}lov_checagem_pend_situacao ls where ls.id = c.situacao) situacao_texto,
				tn.numero titulo_numero, tn.ano titulo_ano,
				(select p.numero || '/' || p.ano from {0}tab_protocolo p where p.id = t.protocolo) protocolo_numero,
				(select nvl(i.nome, i.razao_social) from {0}tab_protocolo p, tab_pessoa i where p.id = t.protocolo
				and p.interessado = i.id) protocolo_interessado      
				from {0}tab_checagem_pend c, {0}tab_titulo_numero tn, tab_titulo t where t.id = c.titulo
				and tn.titulo = c.titulo and c.id = :id"                , EsquemaBanco);

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

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        pendencia.Id            = id;
                        pendencia.Tid           = reader["tid"].ToString();
                        pendencia.SituacaoId    = Convert.ToInt32(reader["situacao_id"]);
                        pendencia.SituacaoTexto = reader["situacao_texto"].ToString();

                        if (reader["titulo"] != null && !Convert.IsDBNull(reader["titulo"]))
                        {
                            pendencia.TituloId = Convert.ToInt32(reader["titulo"]);
                        }
                        pendencia.TituloNumero    = TituloNumero.FromDb(reader["titulo_numero"], reader["titulo_ano"]).Texto;
                        pendencia.ProtocoloNumero = reader["protocolo_numero"].ToString();
                        pendencia.InteressadoNome = reader["protocolo_interessado"].ToString();
                    }
                    reader.Close();
                }

                if (simplificado)
                {
                    return(pendencia);
                }

                #endregion

                #region Itens
                comando = bancoDeDados.CriarComando(@"select c.id, c.item_id, c.item_tid, c.nome, c.checagem, ls.id situacao_id, ls.texto situacao_texto,
				c.tid from {0}tab_checagem_pend_itens c, {0}lov_checagem_pend_item_sit ls where c.situacao = ls.id and c.checagem = :checagem"                , EsquemaBanco);

                comando.AdicionarParametroEntrada("checagem", pendencia.Id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        ChecagemPendenciaItem item = new ChecagemPendenciaItem();
                        item.Id  = Convert.ToInt32(reader["item_id"]);
                        item.Tid = reader["item_tid"].ToString();
                        item.IdRelacionamento = Convert.ToInt32(reader["id"]);
                        item.Nome             = reader["nome"].ToString();

                        if (reader["checagem"] != null && !Convert.IsDBNull(reader["checagem"]))
                        {
                            item.ChecagemId = Convert.ToInt32(reader["checagem"]);
                        }

                        if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"]))
                        {
                            item.SituacaoId    = Convert.ToInt32(reader["situacao_id"]);
                            item.SituacaoTexto = reader["situacao_texto"].ToString();
                        }

                        pendencia.Itens.Add(item);
                    }
                    reader.Close();
                }
                #endregion
            }
            return(pendencia);
        }