public object Single(PostIdRequest request) { IMeta response = null; QueryResponse queryResponse; var post = _postControllerCore.Single(request.Id, out queryResponse); if (queryResponse.success) { response = new PostResponse() { Result = post }; } else { response = new ResponseError() { ErrorCode = queryResponse.errorCode, Message = queryResponse.errorMessage }; } return(response); }
private async Task AddImageLike(PostIdRequest request, CancellationToken cancellationToken) { var like = new LikeModel() { PostId = request.PostId, UserId = request.UserId, IsLiked = true }; await _likeDbContext.Likes.AddAsync(like, cancellationToken); await _likeDbContext.SaveChangesAsync(cancellationToken); WritingInformationLog($"added like :like id = {like.Id} by: user id {like.UserId}"); }
private async Task Like(PostIdRequest request, CancellationToken cancellationToken) { var(isExted, post) = await ExistedPostByIdAsync(request, cancellationToken); if (isExted) { if (!post.IsLiked) { post.IsLiked = true; _likeDbContext.Likes.Update(post); await _likeDbContext.SaveChangesAsync(cancellationToken); WritingInformationLog($"like like id: {post.Id} By user id {post.UserId}"); } } }
public override async Task <TotalLikesReply> GetImageLikes(PostIdRequest request, ServerCallContext context) { var cancellationToken = context.CancellationToken; (bool isExted, LikeModel post) = await ExistedPostByIdAsync(request, cancellationToken); if (isExted) { var likesOfPost = await SumAllLikesByPostId(post.PostId, cancellationToken); WritingInformationLog($"Total likes is: {likesOfPost} "); var selfUserLike = await LikeIdentity(post.PostId, post.UserId, cancellationToken); if (selfUserLike) { return(new TotalLikesReply() { TotalCount = likesOfPost, UserId = request.UserId, Status = TotalLikesReply.Types.Status.Like }); } else { return(new TotalLikesReply() { TotalCount = likesOfPost, UserId = request.UserId, Status = TotalLikesReply.Types.Status.UnLike }); } } else { WritingInformationLog($"Total likes is: 0 "); return(new TotalLikesReply() { TotalCount = 0 }); } }
public override async Task <Empty> AddImageLike(PostIdRequest request, ServerCallContext context) { var cancellationToken = context.CancellationToken; var(isExted, post) = await ExistedPostByIdAsync(request, cancellationToken); if (isExted) { if (post.IsLiked) { await UnLike(request, cancellationToken); } else { await Like(request, cancellationToken); } } else { await AddImageLike(request, cancellationToken); } return(new Empty()); }
private async Task <(bool isExted, LikeModel post)> ExistedPostByIdAsync(PostIdRequest post, CancellationToken cancellationToken) { var findPost = await FindPostByIdAsync(post.PostId, cancellationToken); return(findPost != null, findPost); }