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()); }