public async Task <RankingNomeModel> GetRankingNomeAsync(QueryParameters queryParameters = null) { try { RankingNomeModel[] rankingNome; _logger.LogInformation("Enviando solicitação para obter listagem com ranking de nascimentos por década"); if (!(queryParameters.Sexo is null && queryParameters.Localidade is null && queryParameters.Decada is null)) { var query = new QueryParametersBuilder() .AddSexo(queryParameters.Sexo) .AddLocalidade(queryParameters.Localidade) .AddDecada(queryParameters.Decada) .Build(); rankingNome = await _client .GetFromJsonAsync <RankingNomeModel[]>($"censos/nomes/ranking{query}"); _logger.LogInformation("Solicitação processada com êxito."); return(rankingNome.FirstOrDefault()); } rankingNome = await _client .GetFromJsonAsync <RankingNomeModel[]>($"censos/nomes/ranking"); _logger.LogInformation("Solicitação processada com êxito."); return(rankingNome.FirstOrDefault()); } catch (Exception ex) { _logger.LogError(ex, ex.Message); throw; } finally { _client.Dispose(); } }
public async Task <FrequenciaNomeModel> GetFrequenciaNomeAsync(string nome, QueryParameters queryParameters = null) { try { FrequenciaNomeModel[] frequenciaNome; _logger.LogInformation("Enviando solicitação para obter listagem com frequência de nascimentos por década do nome {0}", nome); if (!(queryParameters.Sexo is null && queryParameters.Localidade is null)) { var query = new QueryParametersBuilder() .AddSexo(queryParameters.Sexo) .AddLocalidade(queryParameters.Localidade) .Build(); frequenciaNome = await _client .GetFromJsonAsync <FrequenciaNomeModel[]>($"censos/nomes/{nome}{query}"); _logger.LogInformation("Solicitação processada com êxito."); return(frequenciaNome.FirstOrDefault()); } frequenciaNome = await _client .GetFromJsonAsync <FrequenciaNomeModel[]>($"censos/nomes/{nome}"); _logger.LogInformation("Solicitação processada com êxito."); return(frequenciaNome.FirstOrDefault()); } catch (Exception ex) { _logger.LogError(ex, ex.Message); throw; } finally { _client.Dispose(); } }