internal void Excluir(int titulo, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { bancoDeDados.IniciarTransacao(); #region Atualizar o tid para a nova ação Comando comando = bancoDeDados.CriarComando(@"update {0}esp_cad_ambiental_rural c set c.tid = :tid where c.titulo = :titulo", EsquemaBanco); comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); #endregion #region Histórico Historico.Gerar(titulo, eHistoricoArtefatoEspecificidade.cadastroambientalruraltitulo, eHistoricoAcao.excluir, bancoDeDados); #endregion #region Consulta Consulta.Deletar(titulo, eHistoricoArtefato.carsolicitacaotitulo, bancoDeDados); #endregion #region Apaga os dados da especificidade comando = bancoDeDados.CriarComando(@"delete from {0}esp_cad_ambiental_rural e where e.titulo = :titulo", EsquemaBanco); comando.AdicionarParametroEntrada("titulo", titulo, DbType.Int32); bancoDeDados.ExecutarNonQuery(comando); bancoDeDados.Commit(); #endregion } }
internal void Salvar(CadastroAmbientalRuralTitulo cadastro, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Título de Cadastro Ambiental Rural eHistoricoAcao acao; object id; bancoDeDados.IniciarTransacao(); //Verifica a existencia da especificidade Comando comando = bancoDeDados.CriarComando(@"select e.id from {0}esp_cad_ambiental_rural e where e.titulo = :titulo", EsquemaBanco); comando.AdicionarParametroEntrada("titulo", cadastro.Titulo.Id, DbType.Int32); id = bancoDeDados.ExecutarScalar(comando); if (id != null && !Convert.IsDBNull(id)) { comando = bancoDeDados.CriarComando(@"update {0}esp_cad_ambiental_rural e set e.titulo = :titulo, e.protocolo = :protocolo, e.destinatario = :destinatario, e.matricula = :matricula, e.tid = :tid where e.titulo = :titulo" , EsquemaBanco); acao = eHistoricoAcao.atualizar; cadastro.Id = Convert.ToInt32(id); } else { comando = bancoDeDados.CriarComando(@"insert into {0}esp_cad_ambiental_rural e (id, titulo, protocolo, destinatario, matricula, tid) values ({0}seq_esp_cad_ambiental_rural.nextval, :titulo, :protocolo, :destinatario, :matricula, :tid) returning e.id into :id" , EsquemaBanco); acao = eHistoricoAcao.criar; comando.AdicionarParametroSaida("id", DbType.Int32); } comando.AdicionarParametroEntrada("titulo", cadastro.Titulo.Id, DbType.Int32); comando.AdicionarParametroEntrada("protocolo", cadastro.ProtocoloReq.Id, DbType.Int32); comando.AdicionarParametroEntrada("destinatario", cadastro.Destinatario, DbType.Int32); comando.AdicionarParametroEntrada("matricula", cadastro.Matricula, DbType.String); comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual()); bancoDeDados.ExecutarNonQuery(comando); if (id == null || Convert.IsDBNull(id)) { cadastro = cadastro ?? new CadastroAmbientalRuralTitulo(); cadastro.Id = Convert.ToInt32(comando.ObterValorParametro("id")); } #endregion #region Histórico Historico.Gerar(Convert.ToInt32(cadastro.Titulo.Id), eHistoricoArtefatoEspecificidade.cadastroambientalruraltitulo, acao, bancoDeDados); #endregion #region Consulta Consulta.Gerar(cadastro.Titulo.Id, eHistoricoArtefato.carsolicitacaotitulo, bancoDeDados); #endregion bancoDeDados.Commit(); } }