Пример #1
0
        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());
        }
Пример #2
0
        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());
        }