예제 #1
0
        public void Gerar(int id, eHistoricoArtefatoEspecificidade artefato, eHistoricoAcao acao, BancoDeDados banco, Executor executor = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                bancoDeDados.IniciarTransacao();
                Comando comando = bancoDeDados.CriarComando(@"begin {0}historico_especificidade." + artefato.ToString() + "(:id, :acao, :executor_id, :executor_nome, :executor_login, :executor_tipo_id, :executor_tid); end;", EsquemaBanco);

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);
                comando.AdicionarParametroEntrada("acao", Convert.ToInt32(acao), DbType.Int32);
                comando.AdicionarParametroEntrada("executor_id", DbType.Int32);
                comando.AdicionarParametroEntrada("executor_tid", DbType.String);
                comando.AdicionarParametroEntrada("executor_nome", DbType.String);
                comando.AdicionarParametroEntrada("executor_login", DbType.String);
                comando.AdicionarParametroEntrada("executor_tipo_id", DbType.Int32);

                executor = executor ?? Executor.Current;

                if (executor == null)
                {
                    throw new Exception("Não foi encontrado executar para gerar Historico");
                }

                comando.SetarValorParametro("executor_id", executor.Id);
                comando.SetarValorParametro("executor_tid", executor.Tid);
                comando.SetarValorParametro("executor_nome", executor.Nome);
                comando.SetarValorParametro("executor_login", executor.Login);
                comando.SetarValorParametro("executor_tipo_id", executor.Tipo);

                bancoDeDados.ExecutarNonQuery(comando);

                bancoDeDados.Commit();
            }
        }
예제 #2
0
 public void GerarHistorico(int id, eHistoricoAcao acao, BancoDeDados banco = null)
 {
     using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
     {
         Historico.Gerar(id, eHistoricoArtefato.fiscalizacao, acao, bancoDeDados);
     }
 }
예제 #3
0
        public bool Salvar(Fiscalizacao entidade)
        {
            try
            {
                if (_validar.Salvar(entidade))
                {
                    entidade.Autuante.Id = User.EtramiteIdentity.FuncionarioId;
                    eHistoricoAcao acao = entidade.Id > 0 ? eHistoricoAcao.atualizar : eHistoricoAcao.criar;

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        _da.Salvar(entidade, bancoDeDados);

                        #region Local da Infração

                        if (entidade.LocalInfracao.Id < 1)
                        {
                            entidade.LocalInfracao.Id = _daLocalInfracao.ObterID(entidade.Id);
                        }

                        entidade.LocalInfracao.FiscalizacaoId = entidade.Id;

                        //se não foi usado o filtro de local, as informações de local são salvas a partir do empreendimento
                        if (entidade.LocalInfracao.EmpreendimentoId != null)
                        {
                            Empreendimento empreendimento = _daEmpreendimento.Obter(entidade.LocalInfracao.EmpreendimentoId.Value);

                            entidade.LocalInfracao.LatNorthing = entidade.LocalInfracao.LatNorthing ?? empreendimento.Coordenada.NorthingUtm.ToString();
                            entidade.LocalInfracao.LonEasting  = entidade.LocalInfracao.LonEasting ?? empreendimento.Coordenada.EastingUtm.ToString();
                            entidade.LocalInfracao.MunicipioId = (entidade.LocalInfracao.MunicipioId != null && entidade.LocalInfracao.MunicipioId > 0) ? entidade.LocalInfracao.MunicipioId : empreendimento.Enderecos[0].MunicipioId;
                            entidade.LocalInfracao.Local       = entidade.LocalInfracao.Local ?? empreendimento.Denominador;
                        }

                        _daLocalInfracao.Salvar(entidade.LocalInfracao, bancoDeDados);

                        #endregion

                        _da.GerarHistorico(entidade.Id, acao, bancoDeDados);

                        _da.GerarConsulta(entidade.Id, bancoDeDados);

                        Validacao.Add(Mensagem.Fiscalizacao.Salvar(entidade.Id.ToString()));

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
예제 #4
0
        public bool Salvar(Fiscalizacao entidade)
        {
            try
            {
                if (_validar.Salvar(entidade))
                {
                    entidade.Autuante.Id = User.EtramiteIdentity.FuncionarioId;
                    eHistoricoAcao acao = entidade.Id > 0 ? eHistoricoAcao.atualizar : eHistoricoAcao.criar;

                    GerenciadorTransacao.ObterIDAtual();

                    using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
                    {
                        bancoDeDados.IniciarTransacao();

                        _da.Salvar(entidade, bancoDeDados);

                        #region Local da Infração

                        if (entidade.LocalInfracao.Id < 1)
                        {
                            entidade.LocalInfracao.Id = _daLocalInfracao.ObterID(entidade.Id);
                        }

                        entidade.LocalInfracao.FiscalizacaoId = entidade.Id;
                        _daLocalInfracao.Salvar(entidade.LocalInfracao, bancoDeDados);

                        #endregion

                        _da.GerarHistorico(entidade.Id, acao, bancoDeDados);

                        _da.GerarConsulta(entidade.Id, bancoDeDados);

                        Validacao.Add(Mensagem.Fiscalizacao.Salvar(entidade.Id.ToString()));

                        bancoDeDados.Commit();
                    }
                }
            }
            catch (Exception e)
            {
                Validacao.AddErro(e);
            }

            return(Validacao.EhValido);
        }
예제 #5
0
        public int ObterHistoricoAcaoId(eHistoricoAcao acao, eHistoricoArtefato artefato, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                Comando comando = bancoDeDados.CriarComando(@"select ct.id from {0}lov_historico_acao c, {0}lov_historico_artefato t, {0}lov_historico_artefatos_acoes ct
					where ct.acao = c.id and ct.artefato = t.id  and lower(c.codigo) = lower(:acao) and lower(t.texto) = lower(:artefato)"                    , EsquemaBanco);

                comando.AdicionarParametroEntrada("acao", acao.ToString(), DbType.String);
                comando.AdicionarParametroEntrada("artefato", artefato.ToString(), DbType.String);

                object resultado = bancoDeDados.ExecutarScalar(comando);

                if (resultado != null && !Convert.IsDBNull(resultado))
                {
                    return(Convert.ToInt32(resultado));
                }
            }
            return(0);
        }
예제 #6
0
        internal FichaFundiaria Salvar(FichaFundiaria ficha, BancoDeDados banco = null)
        {
            if (ficha == null)
            {
                throw new Exception("Objeto Ficha Fundiária não pode ser nulo.");
            }

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Ficha Fundiaria

                bancoDeDados.IniciarTransacao();

                Comando        comando = null;
                eHistoricoAcao acao    = eHistoricoAcao.criar;

                if (ficha.Id > 0)
                {
                    comando = bancoDeDados.CriarComando(@"update {0}tab_acervo_ficha_fund f set f.codigo = :codigo, f.requerente = :requerente, 
														f.idoc = :idoc, f.ndoc = :ndoc, f.pai = :pai, f.mae = :mae, f.endereco = :endereco, 
														f.municipio = :municipio, f.distrito = :distrito, f.lugar = :lugar, f.tipo_area = 
														:tipo_area, f.data_med = :data_med, f.area_med = :area_med, f.perimetro = :perimetro, 
														f.topografo = :topografo, f.prot_reg = :prot_reg, f.prot_ger = :prot_ger, f.lote =
														:lote, f.quadra = :quadra, f.l_sul = :l_sul, f.l_norte = :l_norte, f.l_leste = :l_leste,
														l_oeste = :l_oeste, f.data_ec = :data_ec, f.lv_ec = :lv_ec, f.fl_ec = :fl_ec, f.data_ed
														= :data_ed, f.lv_ed = :lv_ed, f.fl_ed = :fl_ed, f.observacao = :observacao, f.tid = :tid
														where f.id = :id"                                                        , EsquemaBanco);

                    comando.AdicionarParametroEntrada("codigo", ficha.Codigo, DbType.String);
                    comando.AdicionarParametroEntrada("id", ficha.Id, DbType.Int32);
                    acao = eHistoricoAcao.atualizar;
                }
                else
                {
                    comando = bancoDeDados.CriarComando(@"insert into {0}tab_acervo_ficha_fund(id, codigo, requerente, idoc, ndoc, pai, mae, endereco, municipio, 
														distrito, lugar, tipo_area, data_med, area_med, perimetro, topografo, prot_reg, prot_ger, lote, quadra, 
														l_sul, l_norte, l_leste, l_oeste, data_ec, lv_ec, fl_ec, data_ed, lv_ed, fl_ed, observacao, tid) values
														({0}seq_tab_acervo_ficha_fund.nextval, {0}seq_tab_acervo_ficha_fund.currval, :requerente, :idoc, :ndoc, 
														:pai, :mae, :endereco, :municipio, :distrito, :lugar, :tipo_area, :data_med, :area_med, :perimetro, 
														:topografo, :prot_reg, :prot_ger, :lote, :quadra, :l_sul, :l_norte, :l_leste, :l_oeste, :data_ec, :lv_ec,
														:fl_ec, :data_ed, :lv_ed, :fl_ed, :observacao, :tid) returning id into :id"                                                        , EsquemaBanco);

                    comando.AdicionarParametroSaida("id", DbType.Int32);
                }
                comando.AdicionarParametroEntrada("prot_reg", ficha.ProtocoloRegional, DbType.String);
                comando.AdicionarParametroEntrada("prot_ger", ficha.ProtocoloGeral, DbType.String);
                comando.AdicionarParametroEntrada("l_sul", ficha.ConfrontanteSul, DbType.String);
                comando.AdicionarParametroEntrada("l_norte", ficha.ConfrontanteNorte, DbType.String);
                comando.AdicionarParametroEntrada("l_leste", ficha.ConfrontanteLeste, DbType.String);
                comando.AdicionarParametroEntrada("l_oeste", ficha.ConfrontanteOeste, DbType.String);
                comando.AdicionarParametroEntrada("observacao", ficha.Observacoes, DbType.String);

                comando.AdicionarParametroEntrada("requerente", ficha.Requerente.Nome, DbType.String);
                comando.AdicionarParametroEntrada("idoc", ficha.Requerente.DocumentoTipo, DbType.String);
                comando.AdicionarParametroEntrada("ndoc", ficha.Requerente.DocumentoNumero, DbType.String);
                comando.AdicionarParametroEntrada("pai", ficha.Requerente.NomePai, DbType.String);
                comando.AdicionarParametroEntrada("mae", ficha.Requerente.NomeMae, DbType.String);
                comando.AdicionarParametroEntrada("endereco", ficha.Requerente.Endereco, DbType.String);

                comando.AdicionarParametroEntrada("municipio", ficha.Terreno.Municipio, DbType.String);
                comando.AdicionarParametroEntrada("distrito", ficha.Terreno.Distrito, DbType.String);
                comando.AdicionarParametroEntrada("lugar", ficha.Terreno.Lugar, DbType.String);
                comando.AdicionarParametroEntrada("tipo_area", ficha.Terreno.Tipo, DbType.String);
                comando.AdicionarParametroEntrada("data_med", ficha.Terreno.DataMedicao, DbType.String);
                comando.AdicionarParametroEntrada("area_med", ficha.Terreno.Area, DbType.String);
                comando.AdicionarParametroEntrada("perimetro", ficha.Terreno.Perimetro, DbType.String);
                comando.AdicionarParametroEntrada("topografo", ficha.Terreno.NomeTopografo, DbType.String);
                comando.AdicionarParametroEntrada("lote", ficha.Terreno.Lote, DbType.String);
                comando.AdicionarParametroEntrada("quadra", ficha.Terreno.Quadra, DbType.String);

                comando.AdicionarParametroEntrada("data_ec", ficha.EscrituraCondicional.Data, DbType.String);
                comando.AdicionarParametroEntrada("lv_ec", ficha.EscrituraCondicional.Livro, DbType.String);
                comando.AdicionarParametroEntrada("fl_ec", ficha.EscrituraCondicional.Folha, DbType.String);

                comando.AdicionarParametroEntrada("data_ed", ficha.EscrituraDefinitiva.Data, DbType.String);
                comando.AdicionarParametroEntrada("lv_ed", ficha.EscrituraDefinitiva.Livro, DbType.String);
                comando.AdicionarParametroEntrada("fl_ed", ficha.EscrituraDefinitiva.Folha, DbType.String);

                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());

                bancoDeDados.ExecutarNonQuery(comando);

                if (ficha.Id <= 0)
                {
                    ficha.Id = Convert.ToInt32(comando.ObterValorParametro("id"));
                }

                #endregion


                #region Histórico

                Historico.Gerar(ficha.Id, eHistoricoArtefato.fichafundiaria, acao, bancoDeDados);

                #endregion

                bancoDeDados.Commit();
            }

            return(ficha);
        }
예제 #7
0
        public bool ValidarHistoricoAcaoId(eHistoricoAcao acao, eHistoricoArtefato artefato, int historicoId, BancoDeDados banco = null)
        {
            int retorno = ObterHistoricoAcaoId(acao, artefato, banco);

            return(retorno == historicoId);
        }
예제 #8
0
 public void GerarGeo(int id, eHistoricoArtefatoCaracterizacao artefato, eHistoricoAcao acao, BancoDeDados banco, Executor executor = null)
 {
     GerarGeo(id, ((int)artefato), acao, banco, executor);
 }