private AtividadeConfiguracao ObterHistorico(AtividadeConfiguracao atividade, BancoDeDados banco = null) { using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Modelos de Títulos Comando comando = bancoDeDados.CriarComando(@"select hm.configuracao_id id, hm.modelo_id modelo, htm.nome modelo_nome, hm.tid from {0}hst_cnf_atividade_modelos hm, {0}hst_titulo_modelo htm where hm.modelo_id = htm.modelo_id and hm.modelo_tid = htm.tid and hm.configuracao_id = :config_id and hm.configuracao_tid = :config_tid", EsquemaBanco); comando.AdicionarParametroEntrada("config_id", atividade.Id, DbType.Int32); comando.AdicionarParametroEntrada("config_tid", atividade.Tid, DbType.String); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Modelo modelo; while (reader.Read()) { modelo = new Modelo(); modelo.Id = Convert.ToInt32(reader["modelo"]); modelo.Texto = reader["modelo_nome"].ToString(); atividade.Modelos.Add(modelo); } reader.Close(); } #endregion #region atividades comando = bancoDeDados.CriarComando(@"select ha.atividade_ativ_id, ha.configuracao_id, hta.atividade atividade_nome, ha.tid, hta.setor_id from hst_cnf_atividade_atividades ha, hst_atividade hta where ha.atividade_id = hta.atividade_id and ha.atividade_tid = hta.tid and ha.configuracao_id = :config_id and ha.configuracao_tid = :config_tid", EsquemaBanco); comando.AdicionarParametroEntrada("config_id", atividade.Id, DbType.Int32); comando.AdicionarParametroEntrada("config_tid", atividade.Tid, DbType.String); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { AtividadeSolicitada ativ; while (reader.Read()) { ativ = new AtividadeSolicitada(); ativ.Id = Convert.ToInt32(reader["atividade_ativ_id"]); ativ.Texto = reader["atividade_nome"].ToString(); ativ.SetorId = Convert.ToInt32(reader["setor_id"]); atividade.Atividades.Add(ativ); } reader.Close(); } #endregion } return(atividade); }
internal AtividadeSolicitada ObterAtividadeSolicitada(int atividadeSolicitadaId, BancoDeDados banco = null) { AtividadeSolicitada atividade = null; using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { Comando comando = bancoDeDados.CriarComando(@"select id, atividade, situacao, cod_categoria from tab_atividade ta where id = :id", EsquemaBanco); comando.AdicionarParametroEntrada("id", atividadeSolicitadaId, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { atividade = new AtividadeSolicitada(); atividade.Id = reader.GetValue <int>("id"); atividade.Texto = reader.GetValue <string>("atividade"); atividade.Situacao = reader.GetValue <bool>("situacao"); atividade.Categoria = reader.GetValue <string>("cod_categoria"); } } return(atividade); } }
internal bool Salvar(RegistroAtividadeFlorestal caracterizacao) { if (!_caracterizacaoValidar.Basicas(caracterizacao.EmpreendimentoId)) { return(false); } if (caracterizacao.Id <= 0 && (_da.ObterPorEmpreendimento(caracterizacao.EmpreendimentoId, true) ?? new RegistroAtividadeFlorestal()).Id > 0) { Validacao.Add(Mensagem.Caracterizacao.EmpreendimentoCaracterizacaoJaCriada); return(false); } #region Numero if (!caracterizacao.PossuiNumero.HasValue) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.PossuiNumeroObrigatorio); } if (string.IsNullOrWhiteSpace(caracterizacao.NumeroRegistro) && caracterizacao.PossuiNumero.GetValueOrDefault()) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroRegistroObrigatorio); } else if (!ValidacoesGenericasBus.ValidarNumero(caracterizacao.NumeroRegistro, 9) && caracterizacao.PossuiNumero.GetValueOrDefault()) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroRegistroInvalido); } else if (_da.IsNumeroUtilizado(caracterizacao.NumeroRegistro, caracterizacao.EmpreendimentoId)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroUtilizado); } else if (caracterizacao.PossuiNumero.GetValueOrDefault()) { int numeroMaximo = _config.RegAtvFlorestalNumeroMaximo; if (Convert.ToInt32(caracterizacao.NumeroRegistro) > numeroMaximo) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroRegistroSuperiorMax(numeroMaximo.ToString())); } } #endregion if (caracterizacao.Consumos.Count <= 0) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.ConsumoObrigatorio); } #region Consumos var count = 0; caracterizacao.Consumos.ForEach(r => { if (caracterizacao.Consumos.Any(x => caracterizacao.Consumos.Count(y => y.Atividade == x.Atividade) > 1)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.CategoriaDuplicada); return; } AtividadeSolicitada atividadeSolicitada = _da.ObterAtividadeSolicitada(r.Atividade); if (atividadeSolicitada != null && !atividadeSolicitada.Situacao) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.AtividadeDesabilitada(atividadeSolicitada.Texto, count)); } else { if (r.Atividade == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.FabricanteMotosserra) || r.Atividade == ConfiguracaoAtividade.ObterId((int)eAtividadeCodigo.ComercianteMotosserra)) { r.FontesEnergia.Clear(); } else { if (r.Atividade == 0) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.CategoriaObrigatoria(count)); return; } if (r.FontesEnergia.Count == 0) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.FonteEnergiaObrigatoria(count)); return; } } if (!r.PossuiLicencaAmbiental.HasValue) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.PossuiLicencaAmbiental(count)); } else { switch (r.PossuiLicencaAmbiental.GetValueOrDefault()) { case ConfiguracaoSistema.NAO: if (_caracterizacaoValidar.AtividadeLicencaObrigatoria(r.Atividade)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.LicencaAmbientalObrigatoria(count, atividadeSolicitada.Categoria + " - " + atividadeSolicitada.Texto)); } break; case ConfiguracaoSistema.SIM: if (!r.Licenca.EmitidoPorInterno.HasValue) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.EmitidoIDAFOuExterno(count)); } else { if (r.Licenca.TituloModelo == 0) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.ModeloLicencaObrigatorio(count)); } if (string.IsNullOrWhiteSpace(r.Licenca.TituloModeloTexto)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.ModeloLicencaObrigatorio(count)); } if (string.IsNullOrWhiteSpace(r.Licenca.TituloNumero)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroLicencaObrigatorio(count)); } else { if (r.Licenca.EmitidoPorInterno.Value && !ValidacoesGenericasBus.ValidarMaskNumeroBarraAno(r.Licenca.TituloNumero)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroLicencaInvalido(count)); } } ValidacoesGenericasBus.DataMensagem(r.Licenca.TituloValidadeData, "TituloValidadeData_DataTexto" + count, "validade", false); if (string.IsNullOrWhiteSpace(r.Licenca.ProtocoloNumero)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroProtocoloLicencaObrigatorio(count)); } if (r.Licenca.TituloValidadeData.Data.GetValueOrDefault() < DateTime.Today || !r.Licenca.ProtocoloRenovacaoData.IsEmpty) { ValidacoesGenericasBus.DataMensagem(r.Licenca.ProtocoloRenovacaoData, "ProtocoloRenovacaoData_DataTexto" + count, "renovação"); } if (!r.Licenca.ProtocoloRenovacaoData.IsEmpty && (r.Licenca.TituloValidadeData.Data.GetValueOrDefault().AddDays(-120)) < r.Licenca.ProtocoloRenovacaoData.Data) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.RenovacaoDataMaiorValidade(count)); } if (r.Licenca.TituloValidadeData.Data.GetValueOrDefault() < DateTime.Today && string.IsNullOrWhiteSpace(r.Licenca.ProtocoloRenovacaoNumero)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroProtocoloRenovacaoObrigatorio(count)); } if (!r.Licenca.EmitidoPorInterno.Value && string.IsNullOrWhiteSpace(r.Licenca.OrgaoExpedidor)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.OrgaoExpedidoObrigatorio(count)); } } break; case ConfiguracaoSistema.Dispensado: if (!r.Licenca.EmitidoPorInterno.HasValue) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.GrupoDispensadoEmitidoIDAFOuExterno(count)); } if (string.IsNullOrWhiteSpace(r.Licenca.TituloModeloTexto)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.DocumentoObrigatorio(count)); } if (string.IsNullOrWhiteSpace(r.Licenca.ProtocoloNumero)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.NumeroProtocoloLicencaObrigatorio(count)); } if (string.IsNullOrWhiteSpace(r.Licenca.OrgaoExpedidor)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.OrgaoEmissorObrigatorio(count)); } break; default: break; } } if (string.IsNullOrWhiteSpace(r.DUANumero)) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.DUANumeroObrigatorio(count)); } if (Convert.ToDecimal(r.DUAValor) <= 0) { Validacao.Add(Mensagem.RegistroAtividadeFlorestal.DUAValorObrigatorio(count)); } ValidacoesGenericasBus.DataMensagem(r.DUADataPagamento, "DUADataPagamento" + count, "pagamento do DUA"); } count++; }); #endregion return(Validacao.EhValido); }
internal Roteiro Obter(int id) { Roteiro roteiro = new Roteiro(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { #region Roteiro Comando comando = bancoDeDados.CriarComando(@"select a.numero, a.versao versao_atual, a.nome, a.setor setor_id, s.nome setor_texto, a.situacao, a.observacoes, a.finalidade, a.data_criacao, a.tid, (select r.versao from hst_roteiro r where r.tid = a.tid and r.roteiro_id = a.id) versao from {0}tab_roteiro a, {0}tab_setor s where a.setor = s.id and a.id = :id" , EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { roteiro.Id = id; roteiro.Tid = reader["tid"].ToString(); roteiro.Versao = Convert.ToInt32(reader["versao_atual"]); roteiro.VersaoAtual = Convert.ToInt32(reader["versao"]); roteiro.Nome = reader["nome"].ToString(); roteiro.Padrao = ListaCredenciadoBus.RoteiroPadrao.Exists(x => x.Id == roteiro.Id); if (reader["finalidade"] != null && !Convert.IsDBNull(reader["finalidade"])) { roteiro.Finalidade = Convert.ToInt32(reader["finalidade"]); } if (reader["setor_id"] != null && !Convert.IsDBNull(reader["setor_id"])) { roteiro.Setor = Convert.ToInt32(reader["setor_id"]); roteiro.SetorNome = reader["setor_texto"].ToString(); } roteiro.Situacao = Convert.ToInt32(reader["situacao"]); roteiro.Observacoes = reader["observacoes"].ToString(); roteiro.DataCriacao = Convert.ToDateTime(reader["data_criacao"]); } reader.Close(); } #endregion #region Itens do roteiro comando = bancoDeDados.CriarComando(@"select tri.id, i.ordem, tri.nome, tri.condicionante, tri.procedimento, tri.tipo, lrip.texto tipo_texto, tri.tid from {0}tab_roteiro_itens i, {0}tab_roteiro_item tri, {0}lov_roteiro_item_tipo lrip where i.item = tri.id and tri.tipo = lrip.id and i.roteiro = :roteiro order by i.ordem" , EsquemaBanco); comando.AdicionarParametroEntrada("roteiro", roteiro.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Item item; while (reader.Read()) { item = new Item(); item.Id = Convert.ToInt32(reader["id"]); item.Nome = reader["nome"].ToString(); item.Condicionante = reader["condicionante"].ToString(); item.Ordem = Convert.ToInt32(reader["ordem"]); item.ProcedimentoAnalise = reader["procedimento"].ToString(); if (reader["tipo"] != null && !Convert.IsDBNull(reader["tipo"])) { item.Tipo = Convert.ToInt32(reader["tipo"]); item.TipoTexto = reader["tipo_texto"].ToString(); } item.Tid = reader["tid"].ToString(); roteiro.Itens.Add(item); } reader.Close(); } #endregion #region Modelos de Títulos comando = bancoDeDados.CriarComando(@"select rm.id, rm.roteiro, rm.modelo, m.nome modelo_nome, rm.tid from {0}tab_roteiro_modelos rm, {0}tab_titulo_modelo m where rm.roteiro = :roteiro and rm.modelo = m.id" , EsquemaBanco); comando.AdicionarParametroEntrada("roteiro", roteiro.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { TituloModeloLst item; while (reader.Read()) { item = new TituloModeloLst(); item.Id = Convert.ToInt32(reader["modelo"]); item.IdRelacionamento = Convert.ToInt32(reader["id"]); item.Texto = reader["modelo_nome"].ToString(); roteiro.Modelos.Add(item); } reader.Close(); } #endregion #region Atividades comando = bancoDeDados.CriarComando(@"select rm.id, rm.roteiro, rm.atividade, a.atividade atividade_nome, rm.tid from {0}tab_roteiro_atividades rm, {0}tab_atividade a where rm.roteiro = :roteiro and rm.atividade = a.id" , EsquemaBanco); comando.AdicionarParametroEntrada("roteiro", roteiro.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { AtividadeSolicitada item; while (reader.Read()) { item = new AtividadeSolicitada(); item.Id = Convert.ToInt32(reader["atividade"]); item.IdRelacionamento = Convert.ToInt32(reader["id"]); item.Texto = reader["atividade_nome"].ToString(); roteiro.Atividades.Add(item); } reader.Close(); } #endregion #region Arquivos do roteiro comando = bancoDeDados.CriarComando(@"select a.id, a.ordem, a.descricao, b.nome, b.extensao, b.id arquivo_id, b.caminho, a.tid from {0}tab_roteiro_arquivo a, {0}tab_arquivo b where a.arquivo = b.id and a.roteiro = :roteiro order by a.ordem" , EsquemaBanco); comando.AdicionarParametroEntrada("roteiro", roteiro.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Anexo item; while (reader.Read()) { item = new Anexo(); item.Id = Convert.ToInt32(reader["id"]); item.Ordem = Convert.ToInt32(reader["ordem"]); item.Descricao = reader["descricao"].ToString(); item.Arquivo.Id = Convert.ToInt32(reader["arquivo_id"]); item.Arquivo.Caminho = reader["caminho"].ToString(); item.Arquivo.Nome = reader["nome"].ToString(); item.Arquivo.Extensao = reader["extensao"].ToString(); item.Tid = reader["tid"].ToString(); roteiro.Anexos.Add(item); } reader.Close(); } #endregion #region Palavra chave do roteiro comando = bancoDeDados.CriarComando(@"select a.id, a.chave from {0}tab_roteiro_chave a where a.roteiro = :roteiro", EsquemaBanco); comando.AdicionarParametroEntrada("roteiro", roteiro.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { PalavraChave palavra = null; while (reader.Read()) { palavra = new PalavraChave(); palavra.Id = Convert.ToInt32(reader["id"]); palavra.Nome = reader["chave"].ToString(); roteiro.PalavraChaves.Add(palavra); } reader.Close(); } #endregion } return(roteiro); }
internal AtividadeConfiguracao Obter(int id, BancoDeDados banco = null, bool obterHistorico = false) { AtividadeConfiguracao atividade = new AtividadeConfiguracao(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco)) { #region Configuração de Atividade Comando comando = bancoDeDados.CriarComando(@"select a.id, a.nome, a.tid from {0}cnf_atividade a where a.id = :id", EsquemaBanco); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { atividade.Id = id; atividade.Tid = reader["tid"].ToString(); atividade.NomeGrupo = reader["nome"].ToString(); } reader.Close(); } #endregion if (obterHistorico) { return(ObterHistorico(atividade, banco)); } #region Modelos de Títulos comando = bancoDeDados.CriarComando(@"select m.id, m.configuracao, m.modelo, tm.nome modelo_nome, m.tid from {0}cnf_atividade_modelos m, {0}tab_titulo_modelo tm where m.modelo = tm.id and m.configuracao = :configuracao" , EsquemaBanco); comando.AdicionarParametroEntrada("configuracao", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { Modelo modelo; while (reader.Read()) { modelo = new Modelo(); modelo.IdRelacionamento = Convert.ToInt32(reader["id"]); modelo.Id = Convert.ToInt32(reader["modelo"]); modelo.Texto = reader["modelo_nome"].ToString(); atividade.Modelos.Add(modelo); } reader.Close(); } #endregion #region atividades comando = bancoDeDados.CriarComando(@"select a.id, a.configuracao, a.atividade, ta.atividade atividade_nome, a.tid, ta.setor from {0}cnf_atividade_atividades a, {0}tab_atividade ta where a.atividade = ta.id and a.configuracao = :configuracao" , EsquemaBanco); comando.AdicionarParametroEntrada("configuracao", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { AtividadeSolicitada ativ; while (reader.Read()) { ativ = new AtividadeSolicitada(); ativ.IdRelacionamento = Convert.ToInt32(reader["id"]); ativ.Id = Convert.ToInt32(reader["atividade"]); ativ.Texto = reader["atividade_nome"].ToString(); ativ.SetorId = Convert.ToInt32(reader["setor"]); atividade.Atividades.Add(ativ); } reader.Close(); } #endregion } return(atividade); }