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); }
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); }