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)); } }
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() }); }