private JsonResult UpdateAffinityCnt(CommentAffinity model) { var user = CurrentUser; model.UserId = user.UserId; model.UserName = user.FullName; var aff = _db.CommentAffinities.SingleOrDefault(c => c.UserId == model.UserId && c.DiscussionCommentId == model.DiscussionCommentId); if (aff == null) { _db.CommentAffinities.Add(model); _db.SaveChanges(); } else { aff.Status = model.Status; aff.TimeStamp = aff.TimeStamp; _db.Entry(aff).State = System.Data.EntityState.Modified; _db.SaveChanges(); } var comment = _db.DiscussionComments .Include(c => c.Affinities) .Single(d => d.DiscussionCommentId == model.DiscussionCommentId); var json = new { agree = comment.AgreeCnt, disagree = comment.DisagreeCnt, offensive = comment.OffensiveCnt, }; return(Json(json)); }
public JsonResult UpdateAffinity(CommentAffinity model) { if (model.Status == AffinityStatus.Delete) { return(DeleteComment(model)); } else { return(UpdateAffinityCnt(model)); } }
private JsonResult DeleteComment(CommentAffinity model) { var comment = _db.DiscussionComments.Find(model.DiscussionCommentId); comment.IsDeleted = !comment.IsDeleted; _db.Entry(comment).State = System.Data.EntityState.Modified; _db.SaveChanges(); var json = new { deleted = comment.IsDeleted ? "Undo Hide" : "Hide", }; return(Json(json)); }