public Empreendimento() { Atividade = new EmpreendimentoAtividade(); }
internal Resultados <EmpreendimentoAtividade> Filtrar(Dictionary <string, DadoFiltro> filtros) { Resultados <EmpreendimentoAtividade> retorno = new Resultados <EmpreendimentoAtividade>(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { string comandtxt = string.Empty; Comando comando = bancoDeDados.CriarComando(""); #region Adicionando Filtros if (filtros.ContainsKey("secao")) { comandtxt += " and upper(secao) like upper(:secao)"; comando.AdicionarParametroEntrada("secao", filtros["secao"].Valor + "%", filtros["secao"].Tipo); } if (filtros.ContainsKey("divisao")) { comandtxt += " and divisao = :divisao "; comando.AdicionarParametroEntrada("divisao", filtros["divisao"].Valor, filtros["divisao"].Tipo); } if (filtros.ContainsKey("atividade")) { comandtxt += " and upper(atividade) like upper(:atividade)"; comando.AdicionarParametroEntrada("atividade", filtros["atividade"].Valor + "%", filtros["atividade"].Tipo); } if (filtros.ContainsKey("cnae")) { comandtxt += " and upper(cod_cnae) like upper(:cnae)"; comando.AdicionarParametroEntrada("cnae", filtros["cnae"].Valor + "%", filtros["cnae"].Tipo); } List <String> ordenar = new List <String>(); List <String> colunas = new List <String>() { "cod_cnae", "atividade" }; if (filtros.ContainsKey("ordenar")) { ordenar.Add(filtros["ordenar"].Valor.ToString()); } else { ordenar.Add("cod_cnae"); } #endregion #region Quantidade de registro do resultado comando.DbCommand.CommandText = String.Format("select count(*) from {0}tab_empreendimento_atividade a where a.id > 0" + comandtxt, (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")); retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando)); if (retorno.Quantidade < 1) { Mensagem msgSemRegistros = Mensagem.Funcionario.NaoEncontrouRegistros; Validacao.Add(msgSemRegistros); } if (filtros.ContainsKey("menor")) { comando.AdicionarParametroEntrada("menor", filtros["menor"].Valor, filtros["menor"].Tipo); } else { comando.AdicionarParametroEntrada("menor", 1, DbType.Int32); } if (filtros.ContainsKey("maior")) { comando.AdicionarParametroEntrada("maior", filtros["maior"].Valor, filtros["maior"].Tipo); } else { comando.AdicionarParametroEntrada("maior", 10, DbType.Int32); } comandtxt = String.Format(@"select a.id, a.secao, a.divisao, a.atividade, a.tid, a.cod_cnae from {0}tab_empreendimento_atividade a where a.id > 0" + comandtxt + DaHelper.Ordenar(colunas, ordenar), (string.IsNullOrEmpty(EsquemaBanco) ? "" : ".")); 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 EmpreendimentoAtividade atividade; while (reader.Read()) { atividade = new EmpreendimentoAtividade(); atividade.Id = Convert.ToInt32(reader["id"]); atividade.Secao = reader["secao"].ToString(); atividade.CNAE = reader["cod_cnae"].ToString(); if (reader["divisao"] != null && !Convert.IsDBNull(reader["divisao"])) { atividade.Divisao = Convert.ToInt32(reader["divisao"]); } atividade.Atividade = reader["atividade"].ToString(); atividade.Tid = reader["tid"].ToString(); retorno.Itens.Add(atividade); } reader.Close(); #endregion } } return(retorno); }
public ListarEmpreendimentoFiltro() { Responsavel = new Responsavel(); Atividade = new EmpreendimentoAtividade(); Coordenada = new Coordenada(); }