コード例 #1
0
        internal async Task<bool> MoveScroll(ArticleListScroll scroll)
        {
            if (string.IsNullOrEmpty(scroll.NextPageLink))
                return false;

            var request = new ArticleScrollBuilder(_httpClient.BaseAddress, _apiKey).Create(scroll);
            var result = await _httpClient.SendAsync(request).ConfigureAwait(false);
            result.EnsureSuccessStatusCode();
            var json = await result.Content.ReadAsStringAsync();

            return _deserializer.DeserializeInto(json, scroll);
        }
コード例 #2
0
        public bool DeserializeInto(string json, ArticleListScroll scroll)
        {
            var token = JObject.Parse(json);

            scroll.NextPageLink = token["NextPageLink"].Value<string>();
            scroll.Count = token["Count"].Value<int>();
            scroll.Items = token["Items"].ToObject<Article[]>();

            foreach(var item in scroll.Items)
            {
                Repair(item);
            }

            return true;
        }
コード例 #3
0
 public HttpRequestMessage Create(ArticleListScroll scroll)
 {
     var message = CreateGet();
     message.RequestUri = new Uri(scroll.NextPageLink);
     return message;
 }