public void LoadTopCriticReviewsAsync() { if (HasMoreTopCriticReviews) { WebClient wc = new WebClient(); DownloadStringCompletedEventHandler f = null; f = (s, ea) => { wc.DownloadStringCompleted -= f; dynamic json = DynamicJsonObject.Parse(ea.Result); topCriticReviewTotal = DynamicJsonObject.ParseIntFromDyn(json.total); if (TopCriticReviews == null) { TopCriticReviews = new List <Review>(); } foreach (var rev in json.reviews) { TopCriticReviews.Add(new Review(rev)); } OnLoadReviewsCompleted(); }; wc.DownloadStringCompleted += f; wc.DownloadStringAsync(new Uri(nextTopCriticReviewLink)); } else { OnLoadReviewsCompleted(); } }
public void LoadTopCriticReviews() { if (HasMoreTopCriticReviews) { var jsonStr = new WebClient().DownloadString(nextTopCriticReviewLink); JObject json = JObject.Parse(jsonStr); topCriticReviewTotal = json["total"].TryParseInt(); if (TopCriticReviews == null) { TopCriticReviews = new List <Review>(); } TopCriticReviews.AddRange(json["reviews"].Select(x => Review.Parse(x)).ToList()); ++topCriticReviewPage; } }