public virtual async Task <IActionResult> ProductReviews(string productId)
        {
            var product = await _productService.GetProductById(productId);

            if (product == null || !product.Published || !product.AllowCustomerReviews)
            {
                return(RedirectToRoute("HomePage"));
            }

            var model = new ProductReviewsModel();
            await _productViewModelService.PrepareProductReviewsModel(model, product);

            //only registered users can leave reviews
            if (_workContext.CurrentCustomer.IsGuest() && !_catalogSettings.AllowAnonymousUsersToReviewProduct)
            {
                ModelState.AddModelError("", _localizationService.GetResource("Reviews.OnlyRegisteredUsersCanWriteReviews"));
            }
            //default value
            model.AddProductReview.Rating = _catalogSettings.DefaultProductRatingValue;
            return(View(model));
        }
Beispiel #2
0
        public async Task <IViewComponentResult> InvokeAsync(string productId)
        {
            var product = await _productService.GetProductById(productId);

            if (product == null || !product.Published || !product.AllowCustomerReviews)
            {
                return(Content(""));
            }

            var model = new ProductReviewsModel();
            await _productViewModelService.PrepareProductReviewsModel(model, product, _catalogSettings.NumberOfReview);

            return(View(model));
        }