private async Task Contentshow(string content)
        {
            ContentDialog contentDialog = new ContentDialog
            {
                Title               = "确认",
                PrimaryButtonText   = "确认",
                SecondaryButtonText = "退出",
            };

            contentDialog.PrimaryButtonClick += async(_s, _e) =>
            {
                ArtComment artComment = new ArtComment
                {
                    Articalid       = artical.Articalid,
                    Userid          = artical.Userid,
                    ArtCmtUserid    = My.UserId,
                    ArtCmtedUserid  = artical.Userid,
                    ArtCmtTime      = DateTime.Now,
                    ArtCmtContent   = content,
                    CmdUseridName   = My.Name,
                    UseridName      = artical.UseridName,
                    CmtedUseridName = artical.UseridName,
                };
                await PostComment(artComment);
            };
            contentDialog.SecondaryButtonClick += (_s, _e) =>
            {
            };
            await contentDialog.ShowAsync();
        }
        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;
            }
        }
Ejemplo n.º 3
0
        //添加文章评论
        public ActionResult AddArtcm(ArtComment cm, string uAccout)
        {
            if (uAccout != "")
            {
                cm.uAccount        = uAccout;
                cm.artCmCreateTime = DateTime.Now;
                db.ArtComment.Add(cm);
                db.SaveChanges();
            }
            else
            {
                cm.artCmCreateTime = DateTime.Now;
                cm.uAccount        = "cyan";
                db.ArtComment.Add(cm);
                db.SaveChanges();
            }

            var         acm     = db.ArtComment.Where(c => c.artID == cm.artID).ToList();
            int         artcmcn = acm.Count;
            ArticleInfo ai      = db.ArticleInfo.Find(cm.artID);

            ai.artComCnt = artcmcn;
            db.SaveChanges();

            var obj = new
            {
                ok = "true"
            };

            return(Json(obj, JsonRequestBehavior.AllowGet));
        }
        private async Task GetComment(int Userid, int Articalid, ArtComment artComment)
        {
            HttpClient httpClient = new HttpClient
            {
                BaseAddress = new System.Uri("http://localhost:60671/")
            };

            httpClient.DefaultRequestHeaders.Clear();
            httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
            string str = $"api/artcmt/getcomment/{Userid}/{Articalid}";
            HttpResponseMessage httpResponseMessage = await httpClient.GetAsync(str);

            if (httpResponseMessage.IsSuccessStatusCode)
            {
                var res = await httpResponseMessage.Content.ReadAsAsync <string>();

                if (res != string.Empty)
                {
                    artComments         = new ObservableCollection <ArtComment>(JsonConvert.DeserializeObject <List <ArtComment> >(res));
                    CmtList.ItemsSource = artComments;
                    this.Bindings.Update();
                    foreach (var item in artComments)
                    {
                        if (NameMap.UPArticalCmt.Contains($"{item.Articalid} {item.Userid} {item.ArtCmtTime} {Myid} {item.ArtCmtUserid} {item.ArtCmtedUserid}"))
                        {
                            var container = (ListViewItem)CmtList.ContainerFromItem(item);
                            if (container == null)
                            {
                                CmtList.UpdateLayout();
                                CmtList.ScrollIntoView(CmtList.Items[artComments.IndexOf(item)]);
                                container = (ListViewItem)CmtList.ContainerFromItem(item);
                            }
                            var ups = (container.ContentTemplateRoot as FrameworkElement)?.FindName("LikeButton") as AppBarButton;
                            ups.Foreground = new SolidColorBrush(Colors.Blue);
                        }
                        if (NameMap.DNArticalCmt.Contains($"{item.Articalid} {item.Userid} {item.ArtCmtTime} {Myid} {item.ArtCmtUserid} {item.ArtCmtedUserid}"))
                        {
                            var container = (ListViewItem)CmtList.ContainerFromItem(item);
                            if (container == null)
                            {
                                CmtList.UpdateLayout();
                                CmtList.ScrollIntoView(CmtList.Items[artComments.IndexOf(item)]);
                                container = (ListViewItem)CmtList.ContainerFromItem(item);
                            }
                            var downs = (container.ContentTemplateRoot as FrameworkElement)?.FindName("DislikeButton") as AppBarButton;
                            downs.Foreground = new SolidColorBrush(Colors.Blue);
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> PostComment(string CommentString, string artId)
        {
            ArtComment ac = new ArtComment()
            {
                Id           = Guid.NewGuid(),
                User         = await _userManager.GetUserAsync(User),
                Content      = CommentString,
                CommentedOn  = DateTime.Now,
                CommentedArt = await _db.Arts.FirstAsync(a => a.Id.ToString().Equals(artId))
            };
            await _db.ArtComments.AddAsync(ac);

            await _db.SaveChangesAsync();

            return(Redirect("/posts/post?postId=" + artId));
        }
        public ActionResult ArtDel(string id)
        {
            ArticleInfo ai = db.ArticleInfo.Where(a => a.artNo == id).FirstOrDefault();
            //删除文章的评论
            var        cm  = db.ArtComment.Where(c => c.artID == ai.ID).ToList();
            ArtComment acm = new ArtComment();

            foreach (var item in cm)
            {
                acm = db.ArtComment.Find(item.ID);
                db.ArtComment.Remove(acm);
            }

            db.ArticleInfo.Remove(ai);
            db.SaveChanges();
            return(RedirectToAction("index", "PersonalBlog"));
        }
        /// <summary>
        /// 发表评论
        /// </summary>
        /// <param name="articalCmt"></param>
        /// <returns></returns>
        private async Task PostComment(ArtComment articalCmt)
        {
            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(articalCmt), Encoding.UTF8, "application/json");
            HttpResponseMessage httpResponseMessage = await httpClient.PostAsync("http://localhost:60671/api/artcmt/addcomment", content);

            if (httpResponseMessage.IsSuccessStatusCode)
            {
                var res = await httpResponseMessage.Content.ReadAsAsync <bool>();

                if (res == true)
                {
                    artComments.Insert(0, articalCmt);
                    CmtList.ItemsSource = artComments;
                    CmtGrid.Visibility  = Visibility.Collapsed;
                    artical.ArtCmtnum++;
                }
            }
        }
        private void Articallist_ItemClick(object sender, ItemClickEventArgs e)
        {
            ArtComment artComment = (ArtComment)e.ClickedItem;

            Frame.Navigate(typeof(ArticalCmt), artComment);
        }