public async Task <IActionResult> Pesquisa([FromBody] PesquisaCommand pesquisa) { try { var result = _pessoaService.Pesquisa(pesquisa); return(await Response(result, _pessoaService.Notifications)); } catch (Exception ex) { return(await base.TryErrors(ex)); } }
public async Task Pesquisa_DeveRetornarOValorCorretoParaDuasPessoasComGrauSuperiorCompleto() { var pesquisa = new PesquisaCommand { Escolaridade = EEscolaridade.SuperiorCompleto }; var json = JsonConvert.SerializeObject(pesquisa); var data = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync("/api/v1/censo/pesquisar", data); response.EnsureSuccessStatusCode(); var stringResponse = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject <ResponseResult <int> >(stringResponse); int expected = 1; int actual = result.Data; Assert.Equal(expected, actual); }
public int Pesquisa(PesquisaCommand pesquisa) { var query = _pessoaRepository.AllAsNoTracking; if (!string.IsNullOrWhiteSpace(pesquisa.Nome)) { query = query.Where(p => p.Nome.Equals(pesquisa.Nome)); } if (!string.IsNullOrWhiteSpace(pesquisa.Sobrenome)) { query = query.Where(p => p.Sobrenome.Equals(pesquisa.Sobrenome)); } if (pesquisa.Genero != 0) { query = query.Where(p => p.Genero == pesquisa.Genero); } if (pesquisa.Etnia != 0) { query = query.Where(p => p.Etnia == pesquisa.Etnia); } if (pesquisa.Regiao != 0) { query = query.Where(p => p.Regiao == pesquisa.Regiao); } if (pesquisa.Escolaridade != 0) { query = query.Where(p => p.Escolaridade == pesquisa.Escolaridade); } return(query.Count()); }