public ObjetoInfracaoVM(ObjetoInfracao entidade, List <Lista> series, bool isVisualizar = false)
        {
            IsVisualizar = isVisualizar;
            Entidade     = entidade;

            Series = ViewModelHelper.CriarSelectList(series, true, true, selecionado: entidade.SerieId.ToString());
        }
Example #2
0
        internal ObjetoInfracao Criar(ObjetoInfracao objetoInfracao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Objeto de Infracao

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"insert into tab_fisc_obj_infracao i(id, fiscalizacao, area_embargada_atv_intermed,  
                              tei_gerado_pelo_sist, tei_gerado_pelo_sist_serie, num_tei_bloco, data_lavratura_termo,  
                              opniao_area_danificada, desc_termo_embargo, existe_atv_area_degrad, existe_atv_area_degrad_especif, fundament_infracao, 
                              uso_solo_area_danif, declividade_media_area,infracao_result_erosao, caract_solo_area_danif, arquivo, tid, infr_result_er_especifique,
                              interditado, numero_lacre, iuf_digital, iuf_numero, iuf_data, serie) values({0}seq_tab_fisc_obj_infracao.nextval,  
                              :fiscalizacao, :area_embargada_atv_intermed, :tei_gerado_pelo_sist, :tei_gerado_pelo_sist_serie,  
                              :num_tei_bloco, :data_lavratura_termo, :opniao_area_danificada, :desc_termo_embargo,  
                              :existe_atv_area_degrad, :existe_atv_area_degrad_especif, :fundament_infracao, :uso_solo_area_danif, :declividade_media_area, 
                              :infracao_result_erosao, :caract_solo_area_danif, :arquivo, :tid, :infr_result_er_especifique,
                              :interditado, :numero_lacre, :iuf_digital, :iuf_numero, :iuf_data, :serie) returning i.id into :id", EsquemaBanco);


                comando.AdicionarParametroEntrada("fiscalizacao", objetoInfracao.FiscalizacaoId, DbType.Int32);
                comando.AdicionarParametroEntrada("area_embargada_atv_intermed", objetoInfracao.AreaEmbargadaAtvIntermed, DbType.Int32);
                comando.AdicionarParametroEntrada("tei_gerado_pelo_sist", objetoInfracao.TeiGeradoPeloSistema, DbType.Int32);
                comando.AdicionarParametroEntrada("tei_gerado_pelo_sist_serie", objetoInfracao.TeiGeradoPeloSistemaSerieTipo == 0 ? (Object)DBNull.Value : objetoInfracao.TeiGeradoPeloSistemaSerieTipo, DbType.Int32);
                comando.AdicionarParametroEntrada("num_tei_bloco", String.IsNullOrWhiteSpace(objetoInfracao.NumTeiBloco) ? (Object)DBNull.Value : objetoInfracao.NumTeiBloco, DbType.Int32);
                comando.AdicionarParametroEntrada("data_lavratura_termo", String.IsNullOrWhiteSpace(objetoInfracao.DataLavraturaTermo.DataTexto) ? (Object)DBNull.Value : objetoInfracao.DataLavraturaTermo.DataTexto, DbType.Date);
                comando.AdicionarParametroEntrada("opniao_area_danificada", String.IsNullOrWhiteSpace(objetoInfracao.OpniaoAreaDanificada) ? (Object)DBNull.Value : objetoInfracao.OpniaoAreaDanificada, DbType.String);
                comando.AdicionarParametroEntrada("desc_termo_embargo", String.IsNullOrWhiteSpace(objetoInfracao.DescricaoTermoEmbargo) ? (Object)DBNull.Value : objetoInfracao.DescricaoTermoEmbargo, DbType.String);
                comando.AdicionarParametroEntrada("existe_atv_area_degrad", objetoInfracao.ExisteAtvAreaDegrad, DbType.Int32);
                comando.AdicionarParametroEntrada("existe_atv_area_degrad_especif", String.IsNullOrWhiteSpace(objetoInfracao.ExisteAtvAreaDegradEspecificarTexto) ? (Object)DBNull.Value : objetoInfracao.ExisteAtvAreaDegradEspecificarTexto, DbType.String);
                comando.AdicionarParametroEntrada("fundament_infracao", objetoInfracao.FundamentoInfracao, DbType.String);
                comando.AdicionarParametroEntrada("uso_solo_area_danif", objetoInfracao.UsoSoloAreaDanificada, DbType.String);
                comando.AdicionarParametroEntrada("declividade_media_area", objetoInfracao.AreaDeclividadeMedia, DbType.Decimal);
                comando.AdicionarParametroEntrada("infracao_result_erosao", objetoInfracao.InfracaoResultouErosaoTipo == 1 ? 1 : objetoInfracao.InfracaoResultouErosaoTipo == 2 ? 0 : (Object)DBNull.Value, DbType.Int32);
                comando.AdicionarParametroEntrada("caract_solo_area_danif", objetoInfracao.CaracteristicaSoloAreaDanificada, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroEntrada("arquivo", objetoInfracao.Arquivo == null ? (Object)DBNull.Value : objetoInfracao.Arquivo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("infr_result_er_especifique", DbType.String, 150, objetoInfracao.InfracaoResultouErosaoTipoTexto);
                comando.AdicionarParametroSaida("id", DbType.Int32);
                comando.AdicionarParametroEntrada("interditado", objetoInfracao.Interditado, DbType.Boolean);
                comando.AdicionarParametroEntrada("numero_lacre", objetoInfracao.NumeroLacre, DbType.String);
                comando.AdicionarParametroEntrada("iuf_digital", objetoInfracao.IsDigital, DbType.Boolean);
                comando.AdicionarParametroEntrada("iuf_numero", objetoInfracao.NumeroIUF, DbType.String);
                comando.AdicionarParametroEntrada("iuf_data", objetoInfracao.DataLavraturaTermo.Data, DbType.DateTime);
                comando.AdicionarParametroEntrada("serie", objetoInfracao.SerieId, DbType.Int32);
                bancoDeDados.ExecutarNonQuery(comando);

                objetoInfracao.Id = Convert.ToInt32(comando.ObterValorParametro("id"));

                #endregion

                Historico.Gerar(objetoInfracao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados);

                Consulta.Gerar(objetoInfracao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados);

                bancoDeDados.Commit();
            }

            return(objetoInfracao);
        }
        internal ObjetoInfracao Editar(ObjetoInfracao objetoInfracao, BancoDeDados banco = null)
        {
            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Objeto de Infracao

                bancoDeDados.IniciarTransacao();

                Comando comando = bancoDeDados.CriarComando(@"update {0}tab_fisc_obj_infracao i set i.fiscalizacao = :fiscalizacao, 
															i.area_embargada_atv_intermed = :area_embargada_atv_intermed,
															i.tei_gerado_pelo_sist = :tei_gerado_pelo_sist, i.tei_gerado_pelo_sist_serie = :tei_gerado_pelo_sist_serie,
															i.num_tei_bloco = :num_tei_bloco, i.data_lavratura_termo = :data_lavratura_termo, i.opniao_area_danificada = :opniao_area_danificada,
															i.desc_termo_embargo = :desc_termo_embargo, i.existe_atv_area_degrad = :existe_atv_area_degrad,
															i.existe_atv_area_degrad_especif = :existe_atv_area_degrad_especif, i.fundament_infracao = :fundament_infracao,
															i.uso_solo_area_danif = :uso_solo_area_danif, i.declividade_media_area = :declividade_media_area, 
															i.infracao_result_erosao = :infracao_result_erosao, i.caract_solo_area_danif = :caract_solo_area_danif, i.arquivo = :arquivo,
															i.tid = :tid, i.infr_result_er_especifique = :infr_result_er_especifique where i.id = :id"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", objetoInfracao.FiscalizacaoId, DbType.Int32);
                comando.AdicionarParametroEntrada("area_embargada_atv_intermed", objetoInfracao.AreaEmbargadaAtvIntermed, DbType.Int32);
                comando.AdicionarParametroEntrada("tei_gerado_pelo_sist", objetoInfracao.TeiGeradoPeloSistema, DbType.Int32);
                comando.AdicionarParametroEntrada("tei_gerado_pelo_sist_serie", objetoInfracao.TeiGeradoPeloSistemaSerieTipo == 0 ? (Object)DBNull.Value : objetoInfracao.TeiGeradoPeloSistemaSerieTipo, DbType.Int32);
                comando.AdicionarParametroEntrada("num_tei_bloco", String.IsNullOrWhiteSpace(objetoInfracao.NumTeiBloco) ? (Object)DBNull.Value : objetoInfracao.NumTeiBloco, DbType.Int32);
                comando.AdicionarParametroEntrada("data_lavratura_termo", String.IsNullOrWhiteSpace(objetoInfracao.DataLavraturaTermo.DataTexto) ? (Object)DBNull.Value : objetoInfracao.DataLavraturaTermo.DataTexto, DbType.Date);
                comando.AdicionarParametroEntrada("opniao_area_danificada", String.IsNullOrWhiteSpace(objetoInfracao.OpniaoAreaDanificada) ? (Object)DBNull.Value : objetoInfracao.OpniaoAreaDanificada, DbType.String);
                comando.AdicionarParametroEntrada("desc_termo_embargo", String.IsNullOrWhiteSpace(objetoInfracao.DescricaoTermoEmbargo) ? (Object)DBNull.Value : objetoInfracao.DescricaoTermoEmbargo, DbType.String);
                comando.AdicionarParametroEntrada("existe_atv_area_degrad", objetoInfracao.ExisteAtvAreaDegrad, DbType.Int32);
                comando.AdicionarParametroEntrada("existe_atv_area_degrad_especif", String.IsNullOrWhiteSpace(objetoInfracao.ExisteAtvAreaDegradEspecificarTexto) ? (Object)DBNull.Value : objetoInfracao.ExisteAtvAreaDegradEspecificarTexto, DbType.String);
                comando.AdicionarParametroEntrada("fundament_infracao", objetoInfracao.FundamentoInfracao, DbType.String);
                comando.AdicionarParametroEntrada("uso_solo_area_danif", objetoInfracao.UsoSoloAreaDanificada, DbType.String);
                comando.AdicionarParametroEntrada("declividade_media_area", objetoInfracao.AreaDeclividadeMedia, DbType.Decimal);
                comando.AdicionarParametroEntrada("infracao_result_erosao", objetoInfracao.InfracaoResultouErosaoTipo == 1 ? 1 : objetoInfracao.InfracaoResultouErosaoTipo == 2 ? 0 : (Object)DBNull.Value, DbType.Int32);
                comando.AdicionarParametroEntrada("caract_solo_area_danif", objetoInfracao.CaracteristicaSoloAreaDanificada, DbType.Int32);
                comando.AdicionarParametroEntrada("arquivo", objetoInfracao.Arquivo == null ? (Object)DBNull.Value : objetoInfracao.Arquivo.Id, DbType.Int32);
                comando.AdicionarParametroEntrada("tid", DbType.String, 36, GerenciadorTransacao.ObterIDAtual());
                comando.AdicionarParametroEntrada("infr_result_er_especifique", DbType.String, 150, objetoInfracao.InfracaoResultouErosaoTipoTexto);
                comando.AdicionarParametroEntrada("id", objetoInfracao.Id, DbType.Int32);

                bancoDeDados.ExecutarNonQuery(comando);

                #endregion

                Historico.Gerar(objetoInfracao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, eHistoricoAcao.atualizar, bancoDeDados);

                Consulta.Gerar(objetoInfracao.FiscalizacaoId, eHistoricoArtefato.fiscalizacao, bancoDeDados);

                bancoDeDados.Commit();
            }

            return(objetoInfracao);
        }
Example #4
0
        public bool Salvar(ObjetoInfracao objetoInfracao)
        {
            if (objetoInfracao.IsDigital == null)
            {
                Validacao.Add(Mensagem.ObjetoInfracao.IUFObrigatorio);
            }
            else
            {
                if (objetoInfracao.IsDigital == false)
                {
                    if (String.IsNullOrWhiteSpace(objetoInfracao.NumeroIUF))
                    {
                        Validacao.Add(Mensagem.ObjetoInfracao.NumeroIUFObrigatorio);
                    }

                    if (objetoInfracao.SerieId == null || objetoInfracao.SerieId <= 0)
                    {
                        Validacao.Add(Mensagem.ObjetoInfracao.SerieObrigatorio);
                    }

                    ValidacoesGenericasBus.DataMensagem(objetoInfracao.DataLavraturaTermo, "ObjetoInfracao_DataLavratura", "lavratura do IUF");
                }

                if (objetoInfracao.Interditado == null)
                {
                    Validacao.Add(Mensagem.ObjetoInfracao.InterditadoEmbargadoObrigatorio);
                }

                if (String.IsNullOrWhiteSpace(objetoInfracao.DescricaoTermoEmbargo))
                {
                    Validacao.Add(Mensagem.ObjetoInfracao.DescricaoTermoEmbargoObrigatorio);
                }

                if (String.IsNullOrWhiteSpace(objetoInfracao.OpniaoAreaDanificada))
                {
                    Validacao.Add(Mensagem.ObjetoInfracao.OpinarObrigatorio);
                }

                if (objetoInfracao.ExisteAtvAreaDegrad == null)
                {
                    Validacao.Add(Mensagem.ObjetoInfracao.ExisteAtvAreaDegradObrigatorio);
                }
                else if (objetoInfracao.ExisteAtvAreaDegrad == 1 && String.IsNullOrWhiteSpace(objetoInfracao.ExisteAtvAreaDegradEspecificarTexto))
                {
                    Validacao.Add(Mensagem.ObjetoInfracao.ExisteAtvAreaDegradEspecificarTextoObrigatorio);
                }
            }

            return(Validacao.EhValido);
        }
        public bool Salvar(ObjetoInfracao entidade)
        {
            try
            {
                if (_validar.Salvar(entidade))
                {
                    if (entidade.Id < 1)
                    {
                        entidade.Id = _da.ObterID(entidade.FiscalizacaoId);
                    }

                    GerenciadorTransacao.ObterIDAtual();

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

                        #region Arquivo

                        if (entidade.Arquivo != null)
                        {
                            if (entidade.Arquivo.Id != null && entidade.Arquivo.Id == 0)
                            {
                                ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);
                                entidade.Arquivo = _busArquivo.Copiar(entidade.Arquivo);
                            }

                            if (entidade.Arquivo.Id == 0)
                            {
                                ArquivoDa _arquivoDa = new ArquivoDa();
                                _arquivoDa.Salvar(entidade.Arquivo, User.FuncionarioId, User.Name, User.Login, (int)eExecutorTipo.Interno, User.FuncionarioTid, bancoDeDados);
                            }
                        }

                        #endregion

                        _da.Salvar(entidade, bancoDeDados);

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

            return(Validacao.EhValido);
        }
        public ObjetoInfracao Obter(int fiscalizacaoId, BancoDeDados banco = null)
        {
            ObjetoInfracao entidade = null;

            try
            {
                entidade = _da.Obter(fiscalizacaoId);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(entidade);
        }
        public ObjetoInfracao Salvar(ObjetoInfracao objetoInfracao, BancoDeDados banco = null)
        {
            if (objetoInfracao == null)
            {
                throw new Exception("Objeto Infração é nulo.");
            }

            if (objetoInfracao.Id <= 0)
            {
                objetoInfracao = Criar(objetoInfracao, banco);
            }
            else
            {
                objetoInfracao = Editar(objetoInfracao, banco);
            }

            return(objetoInfracao);
        }
        public ObjetoInfracaoVM(ObjetoInfracao entidade, List <Lista> series, List <CaracteristicaSoloAreaDanificada> caracteristicasSolo, bool isVisualizar = false)
        {
            IsVisualizar = isVisualizar;
            Entidade     = entidade;

            List <Lista> resultouErosaoLst = new List <Lista>();

            resultouErosaoLst.Add(new Lista()
            {
                Id = "1", Texto = "Sim", IsAtivo = true
            });
            resultouErosaoLst.Add(new Lista()
            {
                Id = "2", Texto = "Não", IsAtivo = true
            });


            CaracteristicasSolo = caracteristicasSolo;
            Series         = ViewModelHelper.CriarSelectList(series, true, true, selecionado: entidade.TeiGeradoPeloSistemaSerieTipo.ToString());
            ResultouErosao = ViewModelHelper.CriarSelectList(resultouErosaoLst, true, true, selecionado: entidade.InfracaoResultouErosaoTipo.ToString());
        }
        public bool Salvar(ObjetoInfracao objetoInfracao)
        {
            #region Área embargada e/ou atividade interditada

            if (objetoInfracao.AreaEmbargadaAtvIntermed.HasValue)
            {
                if (objetoInfracao.AreaEmbargadaAtvIntermed.Value == (int)Resposta.Sim)
                {
                    #region TEI gerado pelo sistema

                    if (objetoInfracao.TeiGeradoPeloSistema.HasValue)
                    {
                        if (objetoInfracao.TeiGeradoPeloSistema.Value == (int)Resposta.Nao)
                        {
                            if (objetoInfracao.TeiGeradoPeloSistemaSerieTipo == (int)eSerie.C)
                            {
                                #region Nº do TEI

                                if (!String.IsNullOrEmpty(objetoInfracao.NumTeiBloco))
                                {
                                    Int32 aux = 0;
                                    if (Int32.TryParse(objetoInfracao.NumTeiBloco, out aux))
                                    {
                                        if (aux <= 0)
                                        {
                                            Validacao.Add(Mensagem.ObjetoInfracao.NumTeiMaiorZero);
                                        }
                                    }
                                    else
                                    {
                                        Validacao.Add(Mensagem.ObjetoInfracao.NumTeiInvalido);
                                    }
                                }
                                else
                                {
                                    Validacao.Add(Mensagem.ObjetoInfracao.NumTeiObrigatorio);
                                }

                                #endregion
                            }
                            else
                            {
                                #region Nº do TEI - bloco

                                if (!String.IsNullOrEmpty(objetoInfracao.NumTeiBloco))
                                {
                                    Decimal aux = 0;
                                    if (Decimal.TryParse(objetoInfracao.NumTeiBloco, out aux))
                                    {
                                        if (aux <= 0)
                                        {
                                            Validacao.Add(Mensagem.ObjetoInfracao.NumTeiBlocoMaiorZero);
                                        }
                                    }
                                    else
                                    {
                                        Validacao.Add(Mensagem.ObjetoInfracao.NumTeiBlocoInvalido);
                                    }
                                }
                                else
                                {
                                    Validacao.Add(Mensagem.ObjetoInfracao.NumTeiBlocoObrigatorio);
                                }

                                #endregion
                            }

                            #region Data da lavratura

                            ValidacoesGenericasBus.DataMensagem(objetoInfracao.DataLavraturaTermo, "ObjetoInfracao_DataLavraturaTermo_DataTexto", "lavratura do termo");

                            #endregion
                        }
                    }
                    else
                    {
                        Validacao.Add(Mensagem.ObjetoInfracao.TeiGeradoPeloSistemaObrigatorio);
                    }

                    if (objetoInfracao.TeiGeradoPeloSistemaSerieTipo <= 0)
                    {
                        Validacao.Add(Mensagem.ObjetoInfracao.TeiGeradoPeloSistemaSerieTipoObrigatorio);
                    }

                    #endregion

                    if (String.IsNullOrWhiteSpace(objetoInfracao.DescricaoTermoEmbargo))
                    {
                        Validacao.Add(Mensagem.ObjetoInfracao.DescricaoTermoEmbargoObrigatorio);
                    }
                }
            }
            else
            {
                Validacao.Add(Mensagem.ObjetoInfracao.AreaEmbarcadaAtvIntermedObrigatorio);
            }

            #endregion

            #region Esta sendo desenvolvida alguma atividade na area degradada

            if (!objetoInfracao.ExisteAtvAreaDegrad.HasValue)
            {
                Validacao.Add(Mensagem.ObjetoInfracao.ExisteAtvAreaDegradObrigatorio);
            }
            else
            {
                if (objetoInfracao.ExisteAtvAreaDegrad.Value == (int)Resposta.Sim)
                {
                    if (String.IsNullOrWhiteSpace(objetoInfracao.ExisteAtvAreaDegradEspecificarTexto))
                    {
                        Validacao.Add(Mensagem.ObjetoInfracao.ExisteAtvAreaDegradEspecificarTextoObrigatorio);
                    }
                }
            }

            #endregion

            #region Fundamentos que caracterizam a infração

            if (String.IsNullOrWhiteSpace(objetoInfracao.FundamentoInfracao))
            {
                Validacao.Add(Mensagem.ObjetoInfracao.FundamentoInfracaoObrigatorio);
            }

            #endregion

            #region Declividade média da área

            if (!String.IsNullOrWhiteSpace(objetoInfracao.AreaDeclividadeMedia))
            {
                Decimal aux = 0;
                if (Decimal.TryParse(objetoInfracao.AreaDeclividadeMedia, out aux))
                {
                    if (aux <= 0)
                    {
                        Validacao.Add(Mensagem.ObjetoInfracao.AreaDeclividadeMediaMaiorZero);
                    }
                }
                else
                {
                    Validacao.Add(Mensagem.ObjetoInfracao.AreaDeclividadeMediaInvalida);
                }
            }

            #endregion

            if (objetoInfracao.InfracaoResultouErosaoTipo == (int)Resposta.Sim &&
                String.IsNullOrWhiteSpace(objetoInfracao.InfracaoResultouErosaoTipoTexto))
            {
                Validacao.Add(Mensagem.ObjetoInfracao.EspecificarObrigatorio);
            }

            return(Validacao.EhValido);
        }
        internal ObjetoInfracao Obter(int fiscalizacaoId, BancoDeDados banco = null)
        {
            ObjetoInfracao objetoInfracao = new ObjetoInfracao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Objeto de infracao

                Comando comando = bancoDeDados.CriarComando(@"select i.id, t.situacao situacao_id, i.area_embargada_atv_intermed, i.tei_gerado_pelo_sist, 
															i.tei_gerado_pelo_sist_serie, i.num_tei_bloco, data_lavratura_termo,
															i.opniao_area_danificada, i.desc_termo_embargo, i.existe_atv_area_degrad,
															i.existe_atv_area_degrad_especif, i.fundament_infracao, i.uso_solo_area_danif, i.declividade_media_area,
															i.infracao_result_erosao, i.caract_solo_area_danif, i.arquivo, a.nome arquivo_nome, i.tid, i.infr_result_er_especifique
															from tab_fisc_obj_infracao i, tab_fiscalizacao t, tab_arquivo a where i.fiscalizacao = :fiscalizacao 
															and i.arquivo = a.id(+) and t.id = i.fiscalizacao"                                                            , EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", fiscalizacaoId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        objetoInfracao.Id                                  = Convert.ToInt32(reader["id"]);
                        objetoInfracao.FiscalizacaoId                      = fiscalizacaoId;
                        objetoInfracao.FiscalizacaoSituacaoId              = Convert.ToInt32(reader["situacao_id"]);
                        objetoInfracao.AreaEmbargadaAtvIntermed            = Convert.ToInt32(reader["area_embargada_atv_intermed"]);
                        objetoInfracao.ExisteAtvAreaDegrad                 = Convert.ToInt32(reader["existe_atv_area_degrad"]);
                        objetoInfracao.ExisteAtvAreaDegradEspecificarTexto = reader["existe_atv_area_degrad_especif"].ToString();
                        objetoInfracao.FundamentoInfracao                  = reader["fundament_infracao"].ToString();
                        objetoInfracao.UsoSoloAreaDanificada               = reader["uso_solo_area_danif"].ToString();
                        objetoInfracao.AreaDeclividadeMedia                = reader.GetValue <decimal>("declividade_media_area").ToStringTrunc();

                        objetoInfracao.Tid = reader["tid"].ToString();

                        if (reader["infracao_result_erosao"] != null && !Convert.IsDBNull(reader["infracao_result_erosao"]))
                        {
                            objetoInfracao.InfracaoResultouErosaoTipo = Convert.ToInt32(reader["infracao_result_erosao"]) == 0 ? 2 : 1;
                        }
                        else
                        {
                            objetoInfracao.InfracaoResultouErosaoTipo = 0;
                        }

                        if (reader["tei_gerado_pelo_sist_serie"] != null && !Convert.IsDBNull(reader["tei_gerado_pelo_sist_serie"]))
                        {
                            objetoInfracao.TeiGeradoPeloSistemaSerieTipo = Convert.ToInt32(reader["tei_gerado_pelo_sist_serie"]);
                        }

                        if (reader["tei_gerado_pelo_sist"] != null && !Convert.IsDBNull(reader["tei_gerado_pelo_sist"]))
                        {
                            objetoInfracao.TeiGeradoPeloSistema = Convert.ToInt32(reader["tei_gerado_pelo_sist"]);
                        }

                        if (reader["caract_solo_area_danif"] != null && !Convert.IsDBNull(reader["caract_solo_area_danif"]))
                        {
                            objetoInfracao.CaracteristicaSoloAreaDanificada = Convert.ToInt32(reader["caract_solo_area_danif"]);
                        }

                        if (reader["data_lavratura_termo"] != null && !Convert.IsDBNull(reader["data_lavratura_termo"]))
                        {
                            objetoInfracao.DataLavraturaTermo.Data = Convert.ToDateTime(reader["data_lavratura_termo"]);
                        }

                        if (reader["num_tei_bloco"] != null && !Convert.IsDBNull(reader["num_tei_bloco"]))
                        {
                            objetoInfracao.NumTeiBloco = reader["num_tei_bloco"].ToString();
                        }

                        if (reader["opniao_area_danificada"] != null && !Convert.IsDBNull(reader["opniao_area_danificada"]))
                        {
                            objetoInfracao.OpniaoAreaDanificada = reader["opniao_area_danificada"].ToString();
                        }

                        if (reader["desc_termo_embargo"] != null && !Convert.IsDBNull(reader["desc_termo_embargo"]))
                        {
                            objetoInfracao.DescricaoTermoEmbargo = reader["desc_termo_embargo"].ToString();
                        }

                        if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"]))
                        {
                            objetoInfracao.Arquivo.Id   = Convert.ToInt32(reader["arquivo"]);
                            objetoInfracao.Arquivo.Nome = reader["arquivo_nome"].ToString();
                        }

                        objetoInfracao.InfracaoResultouErosaoTipoTexto = reader.GetValue <string>("infr_result_er_especifique");
                    }
                    reader.Close();
                }

                #endregion
            }
            return(objetoInfracao);
        }
Example #11
0
        internal ObjetoInfracao Obter(int fiscalizacaoId, BancoDeDados banco = null)
        {
            ObjetoInfracao objetoInfracao = new ObjetoInfracao();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Objeto de infracao

                Comando comando = bancoDeDados.CriarComando(@"select i.id, t.situacao situacao_id, i.area_embargada_atv_intermed, i.tei_gerado_pelo_sist, 
															i.tei_gerado_pelo_sist_serie, i.num_tei_bloco, data_lavratura_termo,
															i.opniao_area_danificada, i.desc_termo_embargo, i.existe_atv_area_degrad,
															i.existe_atv_area_degrad_especif, i.fundament_infracao, i.uso_solo_area_danif, i.declividade_media_area,
															i.infracao_result_erosao, i.caract_solo_area_danif, i.arquivo, a.nome arquivo_nome, i.tid, i.infr_result_er_especifique,
                                                            i.interditado, i.numero_lacre,
                                                            i.iuf_digital, i.iuf_numero, i.iuf_data, i.serie, lfs.texto serie_texto, t.autos
															from tab_fisc_obj_infracao i, tab_fiscalizacao t, tab_arquivo a, lov_fiscalizacao_serie lfs
                                                            where i.fiscalizacao = :fiscalizacao 
															and i.arquivo = a.id(+) and t.id = i.fiscalizacao
                                                            and (lfs.id = i.serie or i.serie is null)", EsquemaBanco);

                comando.AdicionarParametroEntrada("fiscalizacao", fiscalizacaoId, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    if (reader.Read())
                    {
                        objetoInfracao.Id                     = Convert.ToInt32(reader["id"]);
                        objetoInfracao.FiscalizacaoId         = fiscalizacaoId;
                        objetoInfracao.FiscalizacaoSituacaoId = Convert.ToInt32(reader["situacao_id"]);
                        objetoInfracao.ExisteAtvAreaDegrad    = Convert.ToInt32(reader["existe_atv_area_degrad"]);
                        objetoInfracao.ExisteAtvAreaDegradEspecificarTexto = reader["existe_atv_area_degrad_especif"].ToString();
                        objetoInfracao.NumeroLacre             = reader["numero_lacre"].ToString();
                        objetoInfracao.IsDigital               = reader.GetValue <bool?>("iuf_digital");
                        objetoInfracao.NumeroIUF               = reader.GetValue <string>("iuf_numero");
                        objetoInfracao.DataLavraturaTermo.Data = reader.GetValue <DateTime>("iuf_data");
                        objetoInfracao.SerieId    = reader.GetValue <int?>("serie");
                        objetoInfracao.SerieTexto = reader.GetValue <string>("serie_texto");

                        objetoInfracao.Tid = reader["tid"].ToString();

                        if (reader["interditado"] != null && !Convert.IsDBNull(reader["interditado"]))
                        {
                            objetoInfracao.Interditado = Convert.ToBoolean(reader["interditado"]);
                        }
                        else
                        {
                            objetoInfracao.Interditado = null;
                        }

                        if (objetoInfracao.IsDigital == true && objetoInfracao.FiscalizacaoSituacaoId == (int)eFiscalizacaoSituacao.EmAndamento)
                        {
                            objetoInfracao.NumeroIUF = null;
                            objetoInfracao.DataLavraturaTermo.Data = DateTime.MinValue;
                        }
                        else
                        {
                            objetoInfracao.DataLavraturaTermo.Data = reader.GetValue <DateTime>("iuf_data");
                        }

                        if (reader["opniao_area_danificada"] != null && !Convert.IsDBNull(reader["opniao_area_danificada"]))
                        {
                            objetoInfracao.OpniaoAreaDanificada = reader["opniao_area_danificada"].ToString();
                        }

                        if (reader["desc_termo_embargo"] != null && !Convert.IsDBNull(reader["desc_termo_embargo"]))
                        {
                            objetoInfracao.DescricaoTermoEmbargo = reader["desc_termo_embargo"].ToString();
                        }

                        if (reader["arquivo"] != null && !Convert.IsDBNull(reader["arquivo"]))
                        {
                            objetoInfracao.Arquivo.Id   = Convert.ToInt32(reader["arquivo"]);
                            objetoInfracao.Arquivo.Nome = reader["arquivo_nome"].ToString();
                        }

                        objetoInfracao.InfracaoResultouErosaoTipoTexto = reader.GetValue <string>("infr_result_er_especifique");

                        //fiscalizações antigas
                        if (objetoInfracao.FiscalizacaoSituacaoId != 1 && objetoInfracao.IsDigital == null)
                        {
                            objetoInfracao.IsDigital = reader.GetValue <bool?>("tei_gerado_pelo_sist") ?? false;
                            objetoInfracao.SerieId   = reader.GetValue <int?>("tei_gerado_pelo_sist_serie");
                            objetoInfracao.NumeroIUF = objetoInfracao.IsDigital != true?reader.GetValue <string>("num_tei_bloco") : reader.GetValue <string>("autos");

                            if (reader["data_lavratura_termo"] != null && !Convert.IsDBNull(reader["data_lavratura_termo"]))
                            {
                                objetoInfracao.DataLavraturaTermo.Data = Convert.ToDateTime(reader["data_lavratura_termo"]);
                            }
                            else
                            {
                                if (reader.GetValue <bool?>("tei_gerado_pelo_sist") != null)
                                {
                                    FiscalizacaoDa _fiscDA = new FiscalizacaoDa();
                                    objetoInfracao.DataLavraturaTermo = _fiscDA.ObterDataConclusao(objetoInfracao.FiscalizacaoId);
                                }
                                else
                                {
                                    objetoInfracao.DataLavraturaTermo.Data = null;
                                }
                            }

                            comando = bancoDeDados.CriarComando(@"select texto from {0}lov_fisc_obj_infra_serie where id = :idserie", EsquemaBanco);
                            comando.AdicionarParametroEntrada("idserie", objetoInfracao.SerieId, DbType.Int32);

                            using (IDataReader readerAux = bancoDeDados.ExecutarReader(comando))
                            {
                                if (readerAux.Read())
                                {
                                    objetoInfracao.SerieTexto = readerAux.GetValue <string>("texto");
                                }
                                readerAux.Close();
                            }
                        }
                    }
                    reader.Close();
                }

                #endregion
            }
            return(objetoInfracao);
        }