public async Task <ImigranteResponse> FindImigrantes(PesquisaResponse pesquisaResponse, ImigranteResponse imigranteResponse, Filters filters) { int page = Convert.ToInt32(pesquisaResponse.pagina) + 1; imigranteResponse.page = page; foreach (var imigrante in pesquisaResponse.dados) { if (FilterDadosResponse(imigrante, filters)) { imigranteResponse.dados.Add(imigrante); PrintImigrante(imigrante); } } return(imigranteResponse); }
public async Task SearchImigrante() { PesquisaResponse Imigrantes = new PesquisaResponse(); ImigranteResponse imigranteResponse = new ImigranteResponse { page = 1, limitPage = 5, dados = new List <DadosResponse>() }; Filters filters = new Filters { Age = "38", Name = "giuseppe", Surname = "", Nation = "ita" }; while (imigranteResponse.page <= imigranteResponse.limitPage) { string response = await GetAllImigrantesAsync(imigranteResponse.page); if (Imigrantes.dados == null) { Imigrantes = FormatResponseToImigrantes(response); imigranteResponse.limitPage = Imigrantes.total_paginas; } else { var responseFormated = FormatResponseToImigrantes(response); Imigrantes.dados = responseFormated.dados; Imigrantes.pagina = responseFormated.pagina; } await FindImigrantes(Imigrantes, imigranteResponse, filters); } }