Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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));
        }