Exemple #1
0
        public override async Task <EditReviewResponse> EditReview(EditReviewRequest 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}.");
                }

                review.Content = request.Content;
                var result = await reviewRepo.UpdateAsync(review);

                return(new EditReviewResponse
                {
                    Result = result.ToDto()
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                throw new RpcException(new Status(StatusCode.Internal, ex.Message));
            }
        }
Exemple #2
0
        public async Task <BaseResponse> EditAsync(int id, EditReviewRequest request)
        {
            var review = await _reviewRepository.GetByIdAsync(id);

            if (review == null)
            {
                return(new BaseResponse("Review is not found"));
            }

            _reviewRepository.Update(review);
            await _unitOfWork.SaveChangesAsync();

            return(new BaseResponse());
        }
Exemple #3
0
        public async Task <IActionResult> Edit([FromRoute] int id, [FromBody] EditReviewRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var response = await _reviewService.EditAsync(id, request);

            if (!response.IsValid)
            {
                return(BadRequest(response.Message));
            }
            return(Ok(response));
        }
Exemple #4
0
        public override async Task <EditReviewResponse> EditReview(EditReviewRequest 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}.");
            }

            review.Content = request.Content;
            var result = await reviewRepo.UpdateAsync(review);

            return(new EditReviewResponse
            {
                Result = result.ToDto()
            });
        }