public async override Task <ArchiveBookReply> ArchiveBook(ArchiveBookRequest request, ServerCallContext context) { var archiveBookCommand = new ArchiveBook(request.Id); var archiveBookResult = await this.mediator .Send(archiveBookCommand, context.CancellationToken); if (!archiveBookResult.IsSuccess) { throw new RpcException(archiveBookResult.ToStatus(), archiveBookResult.Error?.Description); } return(new ArchiveBookReply()); }
public async Task <Result> Handle(ArchiveBook request, CancellationToken cancellationToken) { if (request is null) { return(Result.Failure(new ErrorResult(ErrorCode.InvalidArgument, $"{nameof(request)} is null"))); } var archiveBookRequest = new ArchiveBookRequest { Id = request.Id, }; await this.bookServiceClient .ArchiveBookAsync(archiveBookRequest, cancellationToken : cancellationToken); return(Result.Success()); }