public ActionResult LikeCondition(long?NoteId, bool?isLiked) { User user = Session["isLogin"] as User; if (NoteId != null && isLiked == null && user != null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if ((bool)isLiked)//it is already liked by current user, wants make it unlike { Like like = _likeService.GetAllLikes(x => x.UserId == user.UserId && x.NoteId == NoteId).FirstOrDefault(); if (like == null) { return(HttpNotFound()); } _likeService.DeleteLikeById(like.LikeId); } else//new like by current user { _likeService.AddLike(new Like { UserId = user.UserId, NoteId = (long)NoteId }); } var data = new { NoteId = NoteId, Count = _likeService.GetAllLikes(x => x.NoteId == NoteId).Count() }; return(Json(data)); }