Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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());
        }