public ActionResult Like(Guid id, bool Isnot, Guid mid) { //1.判断用户是否登录 if (Session["LoginUserSessionModel"] == null) { return(Json("nologin")); } //2.判断用户是否对这条回复点过赞或踩 var person = (Session["LoginUserSessionModel"] as LoginUserSessionModel).Person; var like = _context.LikeReply.SingleOrDefault(x => x.Person.ID == person.ID && x.Reply.ID == id); if (like == null) { //3.保存 reply实体中like+1或hate+1 LikeReply添加一条记录 var reply = _context.Reply.SingleOrDefault(x => x.ID == id); if (Isnot) { reply.Like += 1; } else { reply.Hate += 1; } like = new LikeReply() { IsNotLike = Isnot, Person = _context.Persons.Find(person.ID), Reply = reply }; _context.LikeReply.Add(like); _context.SaveChanges(); } var HtmlString = ""; var Albums = _context.Albums.SingleOrDefault(x => x.ID == mid); foreach (var item in Albums.Reply.OrderByDescending(x => x.ReplyTime)) { var sonCmt = _context.Reply.Where(x => x.ParentReply.ID == item.ID).ToList().Count; ViewBag.count = sonCmt; HtmlString += " <div class=\"Music-Reply\">"; HtmlString += " <img src = " + item.Person.Avarda + " alt = 加载失败 />"; HtmlString += "<p id='Content-" + item.ID + "'> <span> " + item.Person.Name + ":</ span >" + item.Content + " </p>"; HtmlString += " <div class=\"Reply-time\"> <a href=\"#container\" onclick=\"javascript:GetQuote('" + item.ID + "','" + item.ID + "')\">回复</a> <a href='#'onclick=\"javascript: ShowCmt('" + item.ID + "');\">(" + sonCmt + ")</a>"; HtmlString += " | <a onclick=\"javascript:Like('" + item.ID + "')\";><i class=\"glyphicon glyphicon-thumbs-up\">(" + item.Like + ")</i></a> "; HtmlString += "| <a onclick=\"javascript:Hate('" + item.ID + "')\";><i class=\"glyphicon glyphicon-thumbs-down\">(" + item.Hate + ")</i></a>"; HtmlString += " | 发表时间:" + item.ReplyTime + "</div>"; HtmlString += " </div>"; } //生成html 注入视图 return(Json(HtmlString)); }
public ActionResult LikeOrHate(Guid id, bool LikeOrHate) { //判断用户是否登陆 if (Session["loginUserSessionModel"] == null) { return(Json("OK")); } //判断用户是否队这条回复点过赞或踩 var person = (Session["loginUserSessionModel"] as LoginUserSessionModel).Person; var lik = _context.LikeReplys.SingleOrDefault(x => x.Persons.ID == person.ID && x.Reply.ID == id); if (lik == null) { //保存 Reply实体中like +1 或hate+1 LikeReply添加一条纪录 var Likes = new LikeReply() { IsNotLike = LikeOrHate, Reply = _context.Replys.Find(id), Persons = _context.Persons.Find(person.ID) }; var replys = _context.Replys.Find(id); if (LikeOrHate) { replys.Like++; } else { replys.Hate++; } _context.LikeReplys.Add(Likes); _context.SaveChanges(); } else { return(Json("OKT")); } //生成html 注入视图 var albumid = _context.Replys.Find(id).Album.ID; var reps = _context.Replys.Where(x => x.Album.ID == albumid).Where(x => x.ID == x.ParentReply.ID).OrderByDescending(x => x.CreateDateTime).ToList(); var prenreply = _context.Replys.Where(x => x.Album.ID == albumid).Where(x => x.ID != x.ParentReply.ID).OrderByDescending(x => x.CreateDateTime).ToList(); string htmlString = NewMethod(reps, prenreply); return(Json(htmlString)); }
public ActionResult Like(Guid id) { var status = new LikeStatus() { Status = "", Html = "", }; //1.判断用户是否登录 if (Session["LoginUserSessionModel"] == null) { status = new LikeStatus() { Status = "noLogin", Html = "", }; return(Json(status)); } //2.判断用户是否对这条回复点过赞或踩 var person = _context.Persons.Find((Session["LoginUserSessionModel"] as LoginUserSessionModel).Person.ID); var reply = _context.Replies.Find(id); var like = _context.LikeReplies.SingleOrDefault(x => x.Person.ID == person.ID && x.Reply.ID == reply.ID); //3.保存 reply实体中like+1或hate+1 LikeReply添加一条记录 if (like == null) { reply.Like++; var l = new LikeReply() { Reply = reply, Person = person, IsNotLike = true, }; _context.LikeReplies.Add(l); _context.SaveChanges(); if (reply.ParentReply == null) { status.Status = "Parent"; var cmts = _context.Replies.Where(x => x.Album.ID == reply.Album.ID).OrderByDescending(x => x.CreateDateTime).ToList(); status.Html = _GetHtml(cmts); return(Json(status)); } else { var cmts = _context.Replies.Where(x => x.ParentReply.ID == reply.ParentReply.ID).OrderByDescending(x => x.CreateDateTime).ToList(); //原回复 var pcmt = _context.Replies.Find(reply.ParentReply.ID); var htmlString = ""; htmlString += "<div class=\"modal-header\">"; htmlString += "<button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\">×</button>"; htmlString += "<h4 class=\"modal-title\" id=\"myModalLabel\">"; htmlString += "<em>楼主 </em>" + pcmt.Person.Name + " 发表于" + pcmt.CreateDateTime.ToString("yyyy年MM月dd日 hh点mm分ss秒") + ":<br/>" + pcmt.Content; htmlString += " </h4> </div>"; htmlString += "<div class=\"modal-body\">"; //子回复 htmlString += "<ul class='media-list' style='margin-left:20px;'>"; foreach (var item in cmts) { htmlString += "<li class='media'>"; htmlString += "<div class='media-left'>"; htmlString += "<img class='media-object' src='" + item.Person.Avarda + "' alt='头像' style='width:40px;border-radius:50%;'>"; htmlString += "</div>"; htmlString += "<div class='media-body' id='Content-" + item.ID + "'>"; htmlString += "<h5 class='media-heading'><em>" + item.Person.Name + "</em> 发表于" + item.CreateDateTime.ToString("yyyy年MM月dd日 hh点mm分ss秒") + "</h5>"; htmlString += item.Content; htmlString += "</div>"; htmlString += "<h6><a href='#div-editor' class='reply' onclick=\"javascript:GetQuote('" + item.ParentReply.ID + "','" + item.ID + "');\">回复</a>" + "<a href='#' class='reply' style='margin:0 20px 0 40px' onclick=\"javascript:Like('" + item.ID + "');\"><i class='glyphicon glyphicon-thumbs-up'></i>(" + item.Like + ")</a>" + "<a href='#' class='reply' style='margin:0 20px' onclick=\"javascript:Hate('" + item.ID + "');\"><i class='glyphicon glyphicon-thumbs-down'></i>(" + item.Hate + ")</a></h6>"; htmlString += "</li>"; } htmlString += "</ul>"; htmlString += "</div><div class=\"modal-footer\"></div>"; status.Status = "Son"; status.Html = htmlString; return(Json(status)); } } return(Json(null)); }