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