public ActionResult SubmitArticleComments(int id, string content) { if (string.IsNullOrEmpty(content) == true) { return(Content("评论内容不可为空。")); } var obj = new article_comments() { article_id = id, comments = content, user_id = CurrentUser.id, user_name = CurrentUser.name, created_dt = DateTime.Now }; ArticleMgr.InsertArticleComments(obj); #region 发送消息通知给相关用户(apply user和comments user) var temp_user_list = new List <int>(); var article = ArticleMgr.GetArticle(id); if (CurrentUser.id != article.article_apply.apply_user_id) // 不应该通知本人 { var msg = new message() { title = "文章讨论", message_content = string.Format("我回复了您发布的文章《{0}》:{1}", article.title, content), message_sender_id = CurrentUser.id, message_sender_name = CurrentUser.name, message_receiver_id = article.article_apply.apply_user_id, message_receiver_name = article.article_apply.apply_user_name, }; SystemMgr.InsertMessage(msg); temp_user_list.Add(msg.message_receiver_id); } foreach (var comments in article.article_comments.Where(t => t.user_id != CurrentUser.id)) // 通知其他用户 { if (temp_user_list.Contains(comments.user_id) == true) // 不重复通知同一个用户(回复多次的) { continue; } var msg2 = new message() { title = "文章讨论", message_content = string.Format("我回复您参与讨论的文章《{0}》:{1}", article.title, content), message_sender_id = CurrentUser.id, message_sender_name = CurrentUser.name, message_receiver_id = comments.user_id, message_receiver_name = comments.user_name, }; SystemMgr.InsertMessage(msg2); temp_user_list.Add(msg2.message_receiver_id); } #endregion return(Content("OK")); }
/// <summary> /// 显示学术文章详情 /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult Detail(int id) { ViewBag.CurrentUser = CurrentUser; if (CurrentUser != null) { ViewBag.Collection = AccountMgr.GetUserCollection(CurrentUser.id, ContentType.文章, id); } var obj = ArticleMgr.GetArticle(id); return(View("Detail", obj)); }