Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }