public async Task <AkinatorQuestion> UndoAnswer(CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); if (m_step == 0) { return(null); } var url = AkiUrlBuilder.UndoAnswer(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 <Question> >(content, new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Ignore }); m_step = result.Parameters.Step; CurrentQuestion = ToAkinatorQuestion(result.Parameters); return(ToAkinatorQuestion(result.Parameters)); }
public async Task <AkinatorQuestion> UndoAnswer(CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); if (_mStep == 0) { return(null); } var url = AkiUrlBuilder.UndoAnswer(_mSession, _mSignature, _mStep, _mServer); var response = await _mWebClient.GetAsync(url, cancellationToken).ConfigureAwait(false); var content = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var result = EnsureNoError <Question>(url, content); _mStep = result.Step; CurrentQuestion = ToAkinatorQuestion(result); return(CurrentQuestion); }