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);
 }
 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);
     }
 }