public async Task <AkinatorGuess[]> SearchCharacter(string search, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); var url = AkiUrlBuilder.SearchCharacter(search, _mSession, _mSignature, _mStep, _mServer); var response = await _mWebClient.GetAsync(url, cancellationToken).ConfigureAwait(false); var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var result = EnsureNoError <Characters>(url, content); return(result.AllCharacters.Select(p => new AkinatorGuess(p.Name, p.Description) { ID = p.IdBase, PhotoPath = p.PhotoPath, }).ToArray()); }
public async Task <AkinatorGuess[]> SearchCharacter(string search, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); var url = AkiUrlBuilder.SearchCharacter(search, m_session, m_signature, m_step, m_server); var response = await m_webClient.GetAsync(url, cancellationToken).ConfigureAwait(false); var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var result = JsonConvert.DeserializeObject <BaseResponse <Characters> >(content, new JsonSerializerSettings() { MissingMemberHandling = MissingMemberHandling.Ignore }); return(result.Parameters.AllCharacters.Select(p => new AkinatorGuess(p.Name, p.Description) { ID = p.IdBase, PhotoPath = p.PhotoPath, }).ToArray()); }