Exemple #1
0
		private void tsmiReadMoreReviews_Click(object sender, EventArgs e) {
			this.ChangeEnabilityOfReadMoreControls(false);
			for (int start = DetailView.ReviewCountOnDetailPage; start < this.reviewTotalCount; start += DetailView.ReviewCountOnListPage) {
				Uri uri = GUriBuilder.CreateReviewListUri(this.cont.ContentId, this.cont.PackageId, start);
				ReviewListPageRequestState state = new ReviewListPageRequestState(this.cont, start);
				this.bgTextLoader.AddTaskLast(new BackgroundTextLoadTask(uri, state));
			}
			this.tabControl1.SelectedTab = this.tabpReview;
		}
Exemple #2
0
		private void HandleTextLoadCompletedList(BackgroundTextLoadTaskCompletedEventArgs e, ReviewListPageRequestState reqStateList) {
			if (!e.Success) {
				this.bgTextLoader.ClearTasks();
				this.StatusMessage = string.Format("レビューの追加取得失敗エラー: {0}", e.Error.Message);
				return;
			}
			
			List<ReviewPostListViewItem> lvis = new List<ReviewPostListViewItem>();
			for (Match m = DetailView.regexReviewListPost.Match(e.Text); m.Success; m = m.NextMatch()) {
				lvis.Add(new ReviewPostListViewItem(
						int.Parse(m.Groups["ReviewId"].Value),
						m.Groups["NetaBare"].Success,
						int.Parse(m.Groups["Score"].Value),
						int.Parse(m.Groups["Denominator"].Value),
						int.Parse(m.Groups["Numerator"].Value),
						HttpUtility.HtmlDecode(m.Groups["Title"].Value),
						HttpUtility.HtmlDecode(m.Groups["Author"].Value),
						m.Groups["Posted"].Value,
						HttpUtility.HtmlDecode(m.Groups["Body"].Value)));
			}
			
			if (lvis.Count <= 0) {
				this.bgTextLoader.ClearTasks();
				this.StatusMessage = "レビューの追加取得でレビューが一件も拾えなかった.";
				return;
			} else {
				this.lvReview.Items.AddRange(lvis.ToArray());
			}
		}