示例#1
0
        public ListarVM(List <QuantPaginacao> quantPaginacao, List <Setor> setores)
        {
            Paginacao   = new Blocos.Entities.Etx.ModuloCore.Paginacao();
            Setores     = ViewModelHelper.CriarSelectList(setores);
            Filtros     = new HabilitacaoEmissaoPTVFiltro();
            UltimaBusca = string.Empty;
            Resultados  = new List <HabilitacaoEmissaoPTVFiltro>();

            Paginacao.ListaQuantPaginacao = ViewModelHelper.CriarSelectList(quantPaginacao, false, false);
        }
        public Resultados <HabilitacaoEmissaoPTVFiltro> Filtrar(HabilitacaoEmissaoPTVFiltro filtrosListar, Paginacao paginacao)
        {
            try
            {
                var filtros = new Filtro <HabilitacaoEmissaoPTVFiltro>(filtrosListar, paginacao);
                Resultados <HabilitacaoEmissaoPTVFiltro> resultados = _da.Filtrar(filtros);

                if (resultados.Quantidade < 1)
                {
                    Validacao.Add(Mensagem.Padrao.NaoEncontrouRegistros);
                }

                return(resultados);
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }

            return(null);
        }
示例#3
0
        internal Resultados <HabilitacaoEmissaoPTVFiltro> Filtrar(Filtro <HabilitacaoEmissaoPTVFiltro> filtros)
        {
            Resultados <HabilitacaoEmissaoPTVFiltro> retorno = new Resultados <HabilitacaoEmissaoPTVFiltro>();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                string  comandtxt = string.Empty;
                Comando comando   = bancoDeDados.CriarComando("");

                #region Adicionando Filtros

                comandtxt += comando.FiltroAndLike("f.nome", "funcionario", filtros.Dados.Funcionario, true, true);

                comandtxt += comando.FiltroAnd("f.cpf", "cpf", filtros.Dados.CPF);

                comandtxt += comando.FiltroAnd("t.numero_habilitacao", "numero_habilitacao", filtros.Dados.NumeroHabilitacao);

                comandtxt += comando.FiltroIn("t.funcionario", "select s.funcionario from tab_funcionario_setor s where s.setor = :setor", "setor", filtros.Dados.SetorId);

                List <String> ordenar = new List <String>();
                List <String> colunas = new List <String>()
                {
                    "funcionario", "numero_habilitacao", "situacao"
                };

                if (filtros.OdenarPor > 0)
                {
                    ordenar.Add(colunas.ElementAtOrDefault(filtros.OdenarPor - 1));
                }
                else
                {
                    ordenar.Add("funcionario");
                }
                #endregion

                #region Executa a pesquisa nas tabelas

                comando.DbCommand.CommandText = String.Format(@"select count(t.id) from tab_hab_emi_ptv t, tab_funcionario f where f.id = t.funcionario " + comandtxt);

                retorno.Quantidade = Convert.ToInt32(bancoDeDados.ExecutarScalar(comando));

                comando.AdicionarParametroEntrada("menor", filtros.Menor);
                comando.AdicionarParametroEntrada("maior", filtros.Maior);

                comandtxt = String.Format(@"select t.id, f.nome funcionario, f.cpf, t.numero_habilitacao, t.situacao 
				from tab_hab_emi_ptv t, tab_funcionario f where f.id = t.funcionario {0} {1}"                ,
                                          comandtxt, DaHelper.Ordenar(colunas, ordenar));
                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

                    HabilitacaoEmissaoPTVFiltro habilitacao;
                    while (reader.Read())
                    {
                        habilitacao                   = new HabilitacaoEmissaoPTVFiltro();
                        habilitacao.Id                = reader.GetValue <int>("id");
                        habilitacao.Funcionario       = reader.GetValue <string>("funcionario");
                        habilitacao.CPF               = reader.GetValue <string>("cpf");
                        habilitacao.NumeroHabilitacao = reader.GetValue <string>("numero_habilitacao");
                        habilitacao.SituacaoTexto     = reader.GetValue <int>("situacao") == 1 ? "Ativo" : "Inativo";
                        retorno.Itens.Add(habilitacao);
                    }

                    reader.Close();

                    #endregion
                }
            }

            return(retorno);
        }