public async Task <IActionResult> LikePost([FromBody] LikePostViewModel viewModel) { var postLike = new PostLike { // ReSharper disable once TooManyChainedReferences UserId = _caller.Claims.Single(claim => claim.Type == "id").ToString().Remove(0, 4), PostId = viewModel.PostId, LikeTime = DateTime.Now, LikeCount = viewModel.Value }; var result = await _postRepository.LikePost(postLike); return(new OkObjectResult(new { Message = " bine ba ai postat o glumitza", result })); }
public void LikePost(LikePostViewModel likePostViewModel) { if (likePostViewModel == null || string.IsNullOrEmpty(likePostViewModel.UserId) || likePostViewModel.PostId <= 0) { return; } var user = _dbContext.Users.FirstOrDefault(x => x.Id == likePostViewModel.UserId); if (user == null) { return; } var post = _dbContext.Posts.FirstOrDefault(x => x.Id == likePostViewModel.PostId); if (post == null) { return; } var like = new Like { UserId = likePostViewModel.UserId, PostId = likePostViewModel.PostId }; _dbContext.Likes.Add(like); _dbContext.SaveChanges(); var savedLikeModel = new SavedLikeViewModel { PostId = post.Id, LikeCount = post.Likes.Count, LikedByUserId = user.Id }; Clients.All.increaseLikePostCount(savedLikeModel); }