public async override Task <LockBookReply> LockBook(LockBookRequest request, ServerCallContext context) { var lockBookCommand = new LockBook(request.Id); var lockBookResult = await this.mediator .Send(lockBookCommand, context.CancellationToken); if (!lockBookResult.IsSuccess) { throw new RpcException(lockBookResult.ToStatus(), lockBookResult.Error?.Description); } return(new LockBookReply()); }
public async Task <Result> Handle(LockBook request, CancellationToken cancellationToken) { if (request is null) { return(Result.Failure(new ErrorResult(ErrorCode.InvalidArgument, $"{nameof(request)} is null"))); } var lockBookRequest = new LockBookRequest { Id = request.Id, }; await this.bookServiceClient .LockBookAsync(lockBookRequest, cancellationToken : cancellationToken); return(Result.Success()); }