Пример #1
0
        public override async Task <DeleteReviewResponse> DeleteReview(DeleteReviewRequest request,
                                                                       ServerCallContext context)
        {
            try
            {
                var reviewQueryRepo = _queryFactory.MongoQueryRepository <Domain.Review>();
                var reviewRepo      = _commandFactory.RepositoryAsync <Domain.Review>();

                var review = await reviewQueryRepo.FindOneAsync(x => x.Id, request.ReviewId.ConvertTo <Guid>());

                if (review == null)
                {
                    throw new Exception($"Couldn't find the review #{request.ReviewId}.");
                }

                var result = await reviewRepo.DeleteAsync(review);

                return(new DeleteReviewResponse
                {
                    Id = result.Id.ToString()
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                throw new RpcException(new Status(StatusCode.Internal, ex.Message));
            }
        }
Пример #2
0
        public override async Task <DeleteReviewResponse> DeleteReview(DeleteReviewRequest request,
                                                                       ServerCallContext context)
        {
            var reviewQueryRepo = _queryFactory.MongoQueryRepository <Domain.Review>();
            var reviewRepo      = _commandFactory.RepositoryAsync <Domain.Review>();

            var review = await reviewQueryRepo.FindOneAsync(x => x.Id, request.ReviewId.ConvertTo <Guid>());

            if (review == null)
            {
                throw new Exception($"Couldn't find the review #{request.ReviewId}.");
            }

            var result = await reviewRepo.DeleteAsync(review);

            return(new DeleteReviewResponse
            {
                Id = result.Id.ToString()
            });
        }