public async Task <Review> EditReview(Review review) { ReviewsResponseWrapper wrapper = await _productReviewRepository.GetProductReviewsMD($"id={review.Id}", null, null); Review oldReview = wrapper.Reviews.FirstOrDefault(); review.Approved = review.Approved ?? oldReview.Approved; review.Location = string.IsNullOrEmpty(review.Location) ? oldReview.Location : review.Location; review.ProductId = string.IsNullOrEmpty(review.ProductId) ? oldReview.ProductId : review.ProductId; review.Rating = review.Rating ?? oldReview.Rating; review.ReviewDateTime = string.IsNullOrEmpty(review.ReviewDateTime) ? oldReview.ReviewDateTime : review.ReviewDateTime; review.ReviewerName = string.IsNullOrEmpty(review.ReviewerName) ? oldReview.ReviewerName : review.ReviewerName; review.ShopperId = string.IsNullOrEmpty(review.ShopperId) ? oldReview.ShopperId : review.ShopperId; review.Sku = string.IsNullOrEmpty(review.Sku) ? oldReview.Sku : review.Sku; review.Text = string.IsNullOrEmpty(review.Text) ? oldReview.Text : review.Text; review.Title = string.IsNullOrEmpty(review.Title) ? oldReview.Title : review.Title; review.Locale = string.IsNullOrEmpty(review.Locale) ? oldReview.Locale : review.Locale; review.VerifiedPurchaser = review.VerifiedPurchaser ?? oldReview.VerifiedPurchaser; string id = await this._productReviewRepository.SaveProductReviewMD(review); if (string.IsNullOrEmpty(id)) { review = null; } else { review.Id = id; } return(review); }