private async void CAcceptButton_Click(object sender, RoutedEventArgs e) { AppBarButton appBarButton = (AppBarButton)sender; ListViewItem listViewItem = FindParent <ListViewItem>(appBarButton); ArtCommandPlus artCommandPlus = GetCmtInfor(listViewItem); var box = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("Commentadd") as TextBox; var CmdName = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("CmdName") as Button; var cmtedName = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("CmtedName") as Button; string Text = box.Text; ArtComment artComment = new ArtComment { Articalid = artical.Articalid, Userid = artical.Userid, ArtCmtUserid = My.UserId, ArtCmtedUserid = artical.Userid, ArtCmtContent = Text, ArtCmtTime = DateTime.Now, CmdUseridName = My.Name, UseridName = artical.UseridName, CmtedUseridName = cmtedName.Content.ToString(), }; await PostComment(artComment); if ((listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("AddCmdGrid") is Grid AddCmdGrid) { AddCmdGrid.Visibility = Visibility.Collapsed; } }
/// <summary> /// 获取一个评论的所有信息 /// </summary> /// <param name="listViewItem"></param> /// <returns></returns> private ArtCommandPlus GetCmtInfor(ListViewItem listViewItem) { int CmdUserid, CmtedUserid; string dateTime; TextBlock CmtUseridBlock = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("CmtUseridBlock") as TextBlock; CmdUserid = Convert.ToInt32(CmtUseridBlock.Text); TextBlock CmtedUseridBlock = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("CmtedUseridBlock") as TextBlock; CmtedUserid = Convert.ToInt32(CmtedUseridBlock.Text); var CmtTime = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("CmtTime") as TextBlock; dateTime = (CmtTime.Text); ArtCommandPlus artCommandPlus = new ArtCommandPlus { Articalid = artical.Articalid, Userid = artical.Userid, CmdUserid = CmdUserid, CmtedUserid = CmtedUserid, Datetime = dateTime, Myid = My.UserId, }; return(artCommandPlus); }
/// <summary> /// 取消对文章的反对 /// </summary> /// <param name="artCommandPlus"></param> /// <param name="listViewItem"></param> /// <returns></returns> private async Task DelPutDisCmdLike(ArtCommandPlus artCommandPlus, ListViewItem listViewItem) { HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); var content = new StringContent(JsonConvert.SerializeObject(artCommandPlus), Encoding.UTF8, "application/json"); HttpResponseMessage httpResponseMessage = await httpClient.PutAsync($"http://localhost:60671/api/artcmt/delputdislike", content); var res = await httpResponseMessage.Content.ReadAsAsync <bool>(); if (res == true) { Modifyinf(artCommandPlus, listViewItem, 1); } }
/// <summary> /// 修改按钮的颜色 /// </summary> /// <param name="artCommandPlus"></param> /// <param name="listViewItem"></param> /// <param name="option"></param> private void Modifyinf(ArtCommandPlus artCommandPlus, ListViewItem listViewItem, int option) { var comment = artComments.Where(p => p.ArtCmtUserid == artCommandPlus.CmdUserid && p.ArtCmtedUserid == artCommandPlus.CmtedUserid).FirstOrDefault(); if (listViewItem != null) { AppBarButton LikeButton = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("LikeButton") as AppBarButton; AppBarButton DisLikeButton = (listViewItem.ContentTemplateRoot as FrameworkElement)?.FindName("DislikeButton") as AppBarButton; if (option == 0) { var fore = LikeButton.Foreground as SolidColorBrush; if (fore.Color == Colors.Black) { comment.UpArtCmtnum++; LikeButton.Foreground = new SolidColorBrush(Colors.Blue); NameMap.UPArticalCmt.Add($"{artical.Articalid} {artical.Userid} {artCommandPlus.Datetime} {Myid} {artCommandPlus.CmdUserid} {artCommandPlus.CmtedUserid}"); } else if (fore.Color == Colors.Blue) { comment.UpArtCmtnum--; LikeButton.Foreground = new SolidColorBrush(Colors.Black); NameMap.UPArticalCmt.Remove($"{artical.Articalid} {artical.Userid} {artCommandPlus.Datetime} {Myid} {artCommandPlus.CmdUserid} {artCommandPlus.CmtedUserid}"); } LikeButton.Label = (comment.UpArtCmtnum).ToString(); } else { var fore = DisLikeButton.Foreground as SolidColorBrush; if (fore.Color == Colors.Black) { comment.DownArtCmtnum++; DisLikeButton.Foreground = new SolidColorBrush(Colors.Blue); NameMap.DNArticalCmt.Add($"{artical.Articalid} {artical.Userid} {artCommandPlus.Datetime} {Myid} {artCommandPlus.CmdUserid} {artCommandPlus.CmtedUserid}"); } else if (fore.Color == Colors.Blue) { comment.DownArtCmtnum--; DisLikeButton.Foreground = new SolidColorBrush(Colors.Black); NameMap.DNArticalCmt.Remove($"{artical.Articalid} {artical.Userid} {artCommandPlus.Datetime} {Myid} {artCommandPlus.CmdUserid} {artCommandPlus.CmtedUserid}"); } DisLikeButton.Label = (comment.DownArtCmtnum).ToString(); } } }
/// <summary> /// 点击不赞同按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void DislikeButton_Click(object sender, RoutedEventArgs e) { AppBarButton appBarButton = (AppBarButton)sender; ListViewItem listViewItem = FindParent <ListViewItem>(appBarButton); if (listViewItem != null) { ArtCommandPlus artCommandPlus = GetCmtInfor(listViewItem); var fore = appBarButton.Foreground as SolidColorBrush; if (fore.Color == Colors.Blue) { await DelPutDisCmdLike(artCommandPlus, listViewItem); } else { await PutDisCmdLike(artCommandPlus, listViewItem); } } }