public ActionResult Visualizar(int id) { ChecagemPendencia checagem = _bus.Obter(id); if (!Validacao.EhValido) { return(RedirectToAction("Index", Validacao.QueryParamSerializer())); } if (checagem == null || checagem.Id == 0) { Validacao.Add(Mensagem.ChecagemPendencia.NaoEncontrado); } SalvarVM vm = new SalvarVM(checagem); vm.IsVisualizar = true; if (Request.IsAjaxRequest()) { return(PartialView("VisualizarPartial", vm)); } else { return(View(vm)); } }
public bool Excluir(int id) { try { if (_validar.VerificarExcluir(id)) { ChecagemPendencia checagemPendencia = Obter(id); GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); _da.Excluir(id); bancoDeDados.Commit(); Validacao.Add(Mensagem.ChecagemPendencia.Excluir); } } return(Validacao.EhValido); } catch (Exception exc) { Validacao.AddErro(exc); } return(Validacao.EhValido); }
internal void AlterarSituacao(ChecagemPendencia checagem, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Checagem bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"update {0}tab_checagem_pend a set a.situacao = :situacao, a.tid = :tid where a.id = :id", EsquemaBanco); comando.AdicionarParametroEntrada("id", checagem.Id, DbType.Int32); comando.AdicionarParametroEntrada("situacao", checagem.SituacaoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Histórico Historico.Gerar(checagem.Id, eHistoricoArtefato.checagempendencia, eHistoricoAcao.atualizar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
public bool Salvar(ChecagemPendencia checagemPendencia) { try { checagemPendencia.Id = 0; if (_validar.Salvar(checagemPendencia)) { GerenciadorTransacao.ObterIDAtual(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { bancoDeDados.IniciarTransacao(); checagemPendencia.SituacaoId = 1; // em finalizada _da.Salvar(checagemPendencia, bancoDeDados); bancoDeDados.Commit(); Validacao.Add(Mensagem.ChecagemPendencia.Salvar(checagemPendencia.Numero.ToString())); } } } catch (Exception exc) { Validacao.AddErro(exc); } return(Validacao.EhValido); }
public ActionResult AssociarTitulo(int tituloId, int checagemPendenciaId = 0) { ChecagemPendencia checagemPendencia = new ChecagemPendencia(); if (_bus.VerificaTituloAssociado(tituloId, checagemPendenciaId)) { checagemPendencia = _bus.ObterDeTituloDePendencia(tituloId); _bus.VerificaChecagemPendenciaItens(checagemPendencia); } string htmlItens = ""; if (Validacao.EhValido) { htmlItens = ViewModelHelper.RenderPartialViewToString( ControllerContext, "~/Views/ChecagemPendencia/SalvarItens.ascx", new SalvarVM() { ChecagemPendencia = checagemPendencia } ); } return(Json( new { @EhValido = Validacao.EhValido, @Msg = Validacao.Erros, ChecagemPendencia = checagemPendencia, HtmlItens = htmlItens }, JsonRequestBehavior.AllowGet )); }
internal bool VerificaChecagemPendenciaItens(ChecagemPendencia checagemPendencia) { // verifica se há itens if (checagemPendencia.Itens == null || checagemPendencia.Itens.Count <= 0) { Validacao.Add(Mensagem.ChecagemPendencia.TituloSemItem); } return(Validacao.EhValido); }
internal void Criar(ChecagemPendencia pendencia, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Checagem de Pendências bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"insert into {0}tab_checagem_pend a (id, numero, titulo, situacao, tid) values ({0}seq_checagem_pend.nextval, seq_checagem_pend.currval, :titulo, :situacao, :tid) returning a.id into :id" , EsquemaBanco); comando.AdicionarParametroEntrada("titulo", Convert.ToInt32(pendencia.TituloId), DbType.Int32); comando.AdicionarParametroEntrada("situacao", pendencia.SituacaoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); comando.AdicionarParametroSaida("id", DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); pendencia.Id = Convert.ToInt32(comando.ObterValorParametro("id")); #endregion #region Itens if (pendencia.Itens != null && pendencia.Itens.Count > 0) { comando = bancoDeDados.CriarComando(@"insert into {0}tab_checagem_pend_itens(id, checagem, item_id, item_tid, nome, situacao, tid) values ({0}seq_checagem_pend_itens.nextval, :checagem, :item_id, :item_tid, (select tri.nome from {0}tab_roteiro_item tri where tri.id = :item_id), :situacao, :tid)" , EsquemaBanco); comando.AdicionarParametroEntrada("checagem", pendencia.Id, DbType.Int32); comando.AdicionarParametroEntrada("item_id", DbType.Int32); comando.AdicionarParametroEntrada("item_tid", DbType.String, 36); comando.AdicionarParametroEntrada("situacao", DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); foreach (ChecagemPendenciaItem item in pendencia.Itens) { comando.SetarValorParametro("item_id", item.Id); comando.SetarValorParametro("item_tid", item.Tid); comando.SetarValorParametro("situacao", item.SituacaoId); bancoDeDados.ExecutarNonQuery(comando); } } #endregion #region Histórico Historico.Gerar(pendencia.Id, eHistoricoArtefato.checagempendencia, eHistoricoAcao.criar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
public ActionResult Salvar(ChecagemPendencia checagemPendencia) { string urlRedireciona = Url.Action("Criar", "ChecagemPendencia"); if (_bus.Salvar(checagemPendencia)) { urlRedireciona += "?Msg=" + Validacao.QueryParam() + "&acaoId=" + checagemPendencia.Id.ToString(); } return(Json(new { EhValido = Validacao.EhValido, Msg = Validacao.Erros, UrlRedireciona = urlRedireciona })); }
public ActionResult ExcluirConfirm(int id) { ExcluirVM vm = new ExcluirVM(); ChecagemPendencia checagem = _bus.Obter(id); vm.Id = id; vm.Mensagem = Mensagem.ChecagemPendencia.MensagemExcluir(checagem.Numero.ToString()); vm.Titulo = "Excluir Checagem de Pendência"; return(PartialView("Excluir", vm)); }
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); }
public void Salvar(ChecagemPendencia pendencia, BancoDeDados banco = null) { if (pendencia == null) { throw new Exception("Checagem de itens de pendência é nula."); } if (pendencia.Id == 0) { Criar(pendencia, banco); } else { Editar(pendencia, banco); } }
internal bool Salvar(ChecagemPendencia checagemPendencia) { VerificaTituloAssociado(checagemPendencia.TituloId, checagemPendencia.Id); VerificaChecagemPendenciaItens(checagemPendencia); foreach (ChecagemPendenciaItem item in checagemPendencia.Itens) { if (item.SituacaoId == 1) { Validacao.Add(Mensagem.ChecagemPendencia.SalvarChecagemItemNaoConferido); break; } } return(Validacao.EhValido); }
internal void AlterarSituacao(ChecagemPendencia checagem, BancoDeDados bancoDeDados = null) { _da.AlterarSituacao(checagem, bancoDeDados); }
public SalvarVM(ChecagemPendencia checagemPendencia) { this.ChecagemPendencia = checagemPendencia; SerelizarItens(); }
public bool VerificaChecagemPendenciaItens(ChecagemPendencia checkPend) { return(_validar.VerificaChecagemPendenciaItens(checkPend)); }
internal void Editar(ChecagemPendencia pendencia, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Análise de itens de processo/documento bancoDeDados.IniciarTransacao(); Comando comando = bancoDeDados.CriarComando(@"update {0}tab_checagem_pend a set a.titulo = :titulo, a.situacao = :situacao, a.tid = :tid where a.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", pendencia.Id, DbType.Int32); comando.AdicionarParametroEntrada("titulo", Convert.ToInt32(pendencia.TituloId), DbType.Int32); comando.AdicionarParametroEntrada("situacao", pendencia.SituacaoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Limpar os dados do banco //Itens da pendencia comando = bancoDeDados.CriarComando(String.Empty); comando.DbCommand.CommandText = String.Format("delete from {1}tab_checagem_pend_itens c where c.checagem = :checagem{0}", comando.AdicionarNotIn("and", "c.id", DbType.Int32, pendencia.Itens.Select(x => x.IdRelacionamento).ToList()), EsquemaBanco); comando.AdicionarParametroEntrada("checagem", pendencia.Id, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Itens if (pendencia.Itens != null && pendencia.Itens.Count > 0) { foreach (ChecagemPendenciaItem item in pendencia.Itens) { if (item.IdRelacionamento > 0) { comando = bancoDeDados.CriarComando(@"update {0}tab_checagem_pend_itens c set c.checagem = :checagem, c.item_id = :item_id, c.item_tid = :item_tid, c.situacao = :situacao, c.tid = :tid where c.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", item.IdRelacionamento, DbType.Int32); } else { comando = bancoDeDados.CriarComando(@"insert into {0}tab_checagem_pend_itens(id, checagem, item_id, item_tid, nome, situacao, tid) values ({0}seq_checagem_pend_itens.nextval, :checagem, :item_id, :item_tid, (select ri.nome from {0}tab_roteiro_item ri where ri.id = :item_id), :situacao, :tid)" , EsquemaBanco); } comando.AdicionarParametroEntrada("checagem", pendencia.Id, DbType.Int32); comando.AdicionarParametroEntrada("item_id", item.Id, DbType.Int32); comando.AdicionarParametroEntrada("item_tid", DbType.String, 36, item.Tid); comando.AdicionarParametroEntrada("situacao", item.SituacaoId, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); } } #endregion #region Histórico Historico.Gerar(pendencia.Id, eHistoricoArtefato.checagempendencia, eHistoricoAcao.atualizar, bancoDeDados); #endregion bancoDeDados.Commit(); } }
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); }
internal Resultados <ChecagemPendencia> Filtrar(Filtro <ListarFiltroChecagemPendencia> filtros, BancoDeDados banco = null) { Resultados <ChecagemPendencia> retorno = new Resultados <ChecagemPendencia>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { string comandtxt = string.Empty; string esquema = (string.IsNullOrEmpty(EsquemaBanco) ? "" : "."); Comando comando = bancoDeDados.CriarComando(""); #region Adicionando Filtros comandtxt += comando.FiltroAnd("c.numero", "numero", filtros.Dados.Numero); comandtxt += comando.FiltroAnd("c.situacao", "situacao", filtros.Dados.SituacaoPendencia); comandtxt += comando.FiltroAndLike("tn.numero||'/'||tn.ano", "titulo_numero", filtros.Dados.TituloNumero); if (filtros.Dados.Protocolo.IsValido) { comandtxt += String.Format(@" and t.id in (select tt.id from {0}tab_protocolo tp, {0}tab_titulo tt where tp.id = tt.protocolo and tp.numero = :numero and tp.ano = :ano)" , esquema); comando.AdicionarParametroEntrada("numero", filtros.Dados.Protocolo.Numero, DbType.Int32); comando.AdicionarParametroEntrada("ano", filtros.Dados.Protocolo.Ano, DbType.Int32); } if (!String.IsNullOrWhiteSpace(filtros.Dados.InteressadoNome)) { comandtxt += " and ( "; comandtxt += String.Format("t.protocolo in (select p.id from {0}tab_protocolo p, {0}tab_pessoa i where p.interessado = i.id and ( upper(i.nome) like :interessado_nome or upper(i.razao_social) like :interessado_nome ) )", esquema); comandtxt += ") "; comando.AdicionarParametroEntrada("interessado_nome", filtros.Dados.InteressadoNome.ToUpper() + "%"); } List <String> ordenar = new List <String>(); List <String> colunas = new List <String>() { "id", "titulo_numero", "protocolo_numero", "situacao_id", "interessado_nome" }; if (filtros.OdenarPor > 0) { ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1)); } else { ordenar.Add("id"); } #endregion #region Quantidade de registro do resultado comando.DbCommand.CommandText = String.Format(@"select count(*) from tab_checagem_pend c, lov_checagem_pend_situacao ls, tab_titulo t, tab_titulo_numero tn where ls.id = c.situacao and t.id = c.titulo and t.id = tn.titulo" + comandtxt, esquema); retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)); comando.AdicionarParametroEntrada("menor", filtros.Menor); comando.AdicionarParametroEntrada("maior", filtros.Maior); comandtxt = String.Format(@"select c.id, c.tid, tn.numero || '/' || tn.ano titulo_numero, (select p.numero || '/' || p.ano from {0}tab_protocolo p where p.id = t.protocolo) protocolo_numero, c.situacao situacao_id, (select ls.texto from {0}lov_checagem_pend_situacao ls where ls.id = c.situacao) situacao_texto, (select nvl(i.nome, i.razao_social) from {0}tab_protocolo p, {0}tab_pessoa i where p.id = t.protocolo and p.interessado = i.id) interessado_nome from {0}tab_checagem_pend c, {0}tab_titulo t, {0}tab_titulo_numero tn where t.id = c.titulo and t.id = tn.titulo " + comandtxt + DaHelper.Ordenar(colunas, ordenar), esquema); 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 ChecagemPendencia checagemPendencia; while (reader.Read()) { checagemPendencia = new ChecagemPendencia(); checagemPendencia.Id = Convert.ToInt32(reader["id"]); checagemPendencia.Tid = reader["tid"].ToString(); checagemPendencia.TituloNumero = reader["titulo_numero"].ToString(); checagemPendencia.ProtocoloNumero = reader["protocolo_numero"].ToString(); checagemPendencia.InteressadoNome = reader["interessado_nome"].ToString(); checagemPendencia.SituacaoId = Convert.ToInt32(reader["situacao_id"]); checagemPendencia.SituacaoTexto = reader["situacao_texto"].ToString(); retorno.Itens.Add(checagemPendencia); } reader.Close(); #endregion } } return(retorno); }