public async Task <string> Vote(BoringPic boring, bool isLike) { var b = Boring; var msg = await _api.Vote(boring.PicID, isLike); if (string.IsNullOrEmpty(msg)) { return(null); } else if (msg.Contains("THANK YOU")) { if (isLike) { b[Boring.IndexOf(boring)].VotePositive++; } else { b[Boring.IndexOf(boring)].VoteNegative++; } } Boring = b; return(msg); }
protected override void OnNavigatedTo(NavigationEventArgs e) { DataShareManager.Current.CurrentPageIndex = PageIndex.PicDetailPage; base.OnNavigatedTo(e); object[] parameters = e.Parameter as object[]; if (parameters[0] != null) { var p = parameters[0] as BoringPic; phoneDuanCommentListView.DataContext = _dViewModel = new DuanCommentViewModel(); desktopDuanCommentListView.DataContext = _dViewModel = new DuanCommentViewModel(); this.DataContext = _viewModel = new PicDetailViewModel(p); _dViewModel.Update(p.PicID); CurrentItem = p; DetailType = (PicDetailType)parameters[1]; ItemList = parameters[2]; } SystemNavigationManager.GetForCurrentView().BackRequested += PicViewerPage_BackRequested; ////////////////////////////////////////////// phoneCommentSubmitButton.Focus(FocusState.Pointer); desktopCommentSubmitButton.Focus(FocusState.Pointer); }
protected override void OnNavigatedTo(NavigationEventArgs e) { DataShareManager.Current.CurrentPageIndex = PageIndex.PicDetailPage; base.OnNavigatedTo(e); object[] parameters = e.Parameter as object[]; if (parameters[0] != null) { var p = parameters[0] as BoringPic; this.DataContext = _viewModel = new PicDetailViewModel(p); CurrentItem = p; DetailType = (PicDetailType)parameters[1]; ItemList = parameters[2]; } SystemNavigationManager.GetForCurrentView().BackRequested += PicDetailPage_BackRequested; }
private bool IsItemAdded(BoringPic t) { bool isPassedNSFW = true, isPassedUnWel = true; if (!IsShowNSFW && t.Content.Contains("NSFW")) { isPassedNSFW = false; } if (!IsShowUnwelcome) { int oo = t.VotePositive; int xx = t.VoteNegative; if ((oo + xx) >= 50 && ((double)oo / (double)xx) < 0.618) { t.Content += "\n\nUnwelcome"; isPassedUnWel = false; } } return(isPassedNSFW && isPassedUnWel); }
public void Update(BoringPic b) { BoringPicture = b; _dViewModel.Update(b.PicID); }
public PicDetailViewModel(BoringPic b) { _dViewModel = new DuanCommentViewModel(); Update(b); }
/// <summary> /// 热门无聊图列表 /// </summary> /// <returns></returns> public async Task <List <BoringPic> > GetHotPics() { try { if (ConnectivityManager.Current.Network == NetworkType.NotConnected) //无网络连接 { List <BoringPic> list = await FileHelper.Current.ReadObjectAsync <List <BoringPic> >("hot_pics_list.json"); return(list); } else { JsonObject json = await GetJson(ServiceURL.URL_HOTPICS); if (json != null) { List <BoringPic> list = new List <BoringPic>(); var posts = json["comments"]; if (posts != null) { JsonArray ja = posts.GetArray(); string CommentIDList = ""; foreach (var j in ja) { string CommentID = "comment-" + (j.GetObject())["comment_ID"].GetString(); CommentIDList = $"{CommentIDList},{CommentID}"; } JsonObject jsonCommentCount = await GetJson(ServiceURL.URL_COMMENT_COUNTS + CommentIDList); foreach (var j in ja) { string ID = (j.GetObject())["comment_ID"].GetString(); list.Add(new BoringPic { PicID = ID, Author = (j.GetObject())["comment_author"].GetString(), Content = (j.GetObject())["text_content"].GetString(), Urls = BoringPic.parseHot((j.GetObject())["pics"].ToString()), Thumb = BoringPic.parseHotThumb((j.GetObject())["pics"].ToString()), Date = (j.GetObject())["comment_date"].GetString(), VotePositive = int.Parse(j.GetObject().GetNamedString("vote_positive")), VoteNegative = int.Parse(j.GetObject().GetNamedString("vote_negative")), CommentCount = (int)jsonCommentCount["response"].GetObject().GetNamedObject($"comment-{ID}").GetNamedNumber("comments") }); } } await FileHelper.Current.WriteObjectAsync <List <BoringPic> >(list, "hot_pics_list.json"); return(list); } else { return(null); } } } catch { return(null); } }