namespace Yes.Application.Admins.Comments { public record UpdateCommentCommand( int Id ) : IRequest; public record UpdateCommentCommandResponse(int Id); public class UpdateCommentCommandHandler(BlogDbContext db, IIdentityContext identity) : IRequestHandler { private readonly BlogDbContext _db = db; private readonly IIdentityContext _identity = identity; public async Task Handle(UpdateCommentCommand request, CancellationToken cancellationToken) { var comment = await _db.Comments.FindAsync(request.Id); if (comment == null) { throw new CommentNotExistsException(request.Id); } if (comment.IsVerified()) { comment.UnVerify(); } else { comment.Verify(); } _db.Comments.Update(comment); await _db.SaveChangesAsync(); return new UpdateCommentCommandResponse(request.Id); } } }