public virtual async Task <ProductReview> UpdateProductReview(ProductReview productReview, ProductReviewModel model) { productReview = model.ToEntity(productReview); await _productService.UpdateProductReview(productReview); //update product totals var product = await _productService.GetProductById(productReview.ProductId); await _productService.UpdateProductReviewTotals(product); return(productReview); }
public virtual async Task <ProductReview> UpdateProductReview(ProductReview productReview, ProductReviewModel model) { productReview = model.ToEntity(productReview); await _productReviewService.UpdateProductReview(productReview); //update product totals var product = await _productService.GetProductById(productReview.ProductId); //update product totals await _mediator.Send(new UpdateProductReviewTotalsCommand() { Product = product }); return(productReview); }
public virtual ProductReview UpdateProductReview(ProductReview productReview, ProductReviewModel model) { productReview = model.ToEntity(productReview); //productReview.Title = model.Title; //productReview.ReviewText = model.ReviewText; //productReview.IsApproved = model.IsApproved; //productReview.ReplyText= model.ReplyText; //productReview.Signature= model.Signature; _productService.UpdateProductReview(productReview); //update product totals var product = _productService.GetProductById(productReview.ProductId); _productService.UpdateProductReviewTotals(product); return(productReview); }
public ActionResult Review(ProductReviewModel model) { if (ModelState.IsValid) { var product = _productService.GetById(model.ProductId); model.Product = product; try { var review = _productReviewService.Get(x => model.ProductId == x.ProductId && (x.EmailAddress == model.EmailAddress || x.UserName == model.UserName)); if (review == null) { var entity = model.ToEntity(); _productReviewService.Add(entity); this.SuccessNotification("Thank you for your review. We will email you once it has been approved."); } else { this.ErrorNotification(review.EmailAddress == model.EmailAddress ? "The email address entered is already in use. Please use another email address" : "The username entered is already in use. Please use another username"); return(PartialView(model)); } } catch (Exception) { this.ErrorNotification("An error has occurred while submitting your review. Please try again later."); } } int productId = model.ProductId; model = new ProductReviewModel { Product = _productService.GetById(productId) }; return(PartialView(model)); }