예제 #1
0
        private IEnumerable <PessoaPesquisa> Filtrar(PessoaFiltro pessoaFiltro, EnTipoExpositor enTipoExpositor, int id = 0)
        {
            IQueryable <PessoaPesquisa> resultado;

            if (enTipoExpositor == EnTipoExpositor.expCadSocio)
            {
                resultado = _repositorioPessoa.ListarCadastroSocios();
            }
            else if (enTipoExpositor == EnTipoExpositor.expSocio)
            {
                resultado = _repositorioPessoa.ListarSociosExpositores();
            }
            else if (enTipoExpositor == EnTipoExpositor.expExpositores)
            {
                resultado = _repositorioPessoa.ListarExpositoresVisitantes();
            }
            else
            {
                resultado = _repositorioPessoa.ListarTodosExpositores();
            }

            if (!string.IsNullOrWhiteSpace(pessoaFiltro.Nome))
            {
                resultado = resultado.Where(x => x.Nome.Contains(pessoaFiltro.Nome.ToUpper()));
            }

            if (!string.IsNullOrWhiteSpace(pessoaFiltro.CPF))
            {
                resultado = resultado.Where(x => x.CPF == pessoaFiltro.CPF.SoNumeros());
            }

            if (!string.IsNullOrWhiteSpace(pessoaFiltro.RG))
            {
                resultado = resultado.Where(x => x.RG == pessoaFiltro.RG);
            }

            if (!string.IsNullOrWhiteSpace(pessoaFiltro.Telefone))
            {
                resultado = resultado.Where(x => x.Telefone == pessoaFiltro.Telefone);
            }

            if (id > 0)
            {
                resultado = resultado.Where(x => x.Id == id);
            }

            return(resultado.ToList());
        }