Example #1
0
        public IViewComponentResult Invoke()
        {
            var settingsModel     = new BsQuickViewSettingsModel();
            var quickViewsettings = _settingsService.LoadSetting <QuickViewSettings>();

            settingsModel.ButtonContainerName  = quickViewsettings.ButtonContainerName;
            settingsModel.EnableWidget         = quickViewsettings.EnableWidget;
            settingsModel.ShowAlsoPurchased    = quickViewsettings.ShowAlsoPurchased;
            settingsModel.ShowRelatedProducts  = quickViewsettings.ShowRelatedProducts;
            settingsModel.EnableEnlargePicture = quickViewsettings.EnableEnlargePicture;


            return(View("~/Plugins/BrainStation.QuickView/Views/BsQuickView/QuickViewButton.cshtml", settingsModel));
        }
Example #2
0
        public ActionResult Configure()
        {
            var model = new BsQuickViewSettingsModel();

            var quickViewsettings = _settingService.LoadSetting <QuickViewSettings>();

            model.ButtonContainerName  = quickViewsettings.ButtonContainerName;
            model.EnableWidget         = quickViewsettings.EnableWidget;
            model.ShowAlsoPurchased    = quickViewsettings.ShowAlsoPurchased;
            model.ShowRelatedProducts  = quickViewsettings.ShowRelatedProducts;
            model.EnableEnlargePicture = quickViewsettings.EnableEnlargePicture;

            return(View("BsQuickViewAdmin/Configure", model));
        }
Example #3
0
        public ActionResult AddButton()
        {
            var settingsModel     = new BsQuickViewSettingsModel();
            var quickViewsettings = _settingService.LoadSetting <QuickViewSettings>();

            settingsModel.ButtonContainerName  = quickViewsettings.ButtonContainerName;
            settingsModel.EnableWidget         = quickViewsettings.EnableWidget;
            settingsModel.ShowAlsoPurchased    = quickViewsettings.ShowAlsoPurchased;
            settingsModel.ShowRelatedProducts  = quickViewsettings.ShowRelatedProducts;
            settingsModel.EnableEnlargePicture = quickViewsettings.EnableEnlargePicture;


            return(View("QuickViewButton", settingsModel));
        }
Example #4
0
        public IActionResult Configure(BsQuickViewSettingsModel model)
        {
            var settings = new QuickViewSettings()
            {
                EnableWidget      = model.EnableWidget,
                ShowAlsoPurchased = model.ShowAlsoPurchased,

                ShowRelatedProducts  = model.ShowRelatedProducts,
                ButtonContainerName  = model.ButtonContainerName,
                EnableEnlargePicture = model.EnableEnlargePicture,
            };

            _settingService.SaveSetting(settings);
            SuccessNotification(_localizationService.GetResource("Admin.Plugins.Saved"));
            return(Configure());
        }
Example #5
0
        public ActionResult ProductDetails(int productId, int updatecartitemid = 0)
        {
            var product = _productService.GetProductById(productId);

            if (product == null || product.Deleted)
            {
                return(NotFound());
            }

            //Is published?
            //Check whether the current user has a "Manage catalog" permission
            //It allows him to preview a product before publishing
            if (!product.Published && !_permissionService.Authorize(StandardPermissionProvider.ManageProducts))
            {
                return(NotFound());
            }

            //ACL (access control list)
            if (!_aclService.Authorize(product))
            {
                return(NotFound());
            }

            //Store mapping
            if (!_storeMappingService.Authorize(product))
            {
                return(NotFound());
            }

            //visible individually?
            if (!product.VisibleIndividually)
            {
                //is this one an associated products?
                var parentGroupedProduct = _productService.GetProductById(product.ParentGroupedProductId);
                if (parentGroupedProduct != null)
                {
                    product = parentGroupedProduct;
                }
                else
                {
                    return(NotFound());
                }
            }

            //update existing shopping cart item?
            ShoppingCartItem updatecartitem = null;

            if (_shoppingCartSettings.AllowCartItemEditing && updatecartitemid > 0)
            {
                var cart = _workContext.CurrentCustomer.ShoppingCartItems
                           .Where(x => x.ShoppingCartType == ShoppingCartType.ShoppingCart)
                           .LimitPerStore(_storeContext.CurrentStore.Id)
                           .ToList();
                updatecartitem = cart.FirstOrDefault(x => x.Id == updatecartitemid);
                //not found?
                if (updatecartitem == null)
                {
                    return(NotFound());
                    // return RedirectToRoute("Product", new { SeName = product.GetSeName() });
                }
                //is it this product?
                if (product.Id != updatecartitem.ProductId)
                {
                    return(NotFound());
                    // return RedirectToRoute("Product", new { SeName = product.GetSeName() });
                }
            }


            //model
            var model = _productModelFactory.PrepareProductDetailsModel(product, updatecartitem, false);
            //template
            var productTemplateViewPath = _productModelFactory.PrepareProductTemplateViewPath(product);


            //save as recently viewed
            _recentlyViewedProductsService.AddProductToRecentlyViewedList(product.Id);

            //activity log
            _customerActivityService.InsertActivity("PublicStore.ViewProduct", _localizationService.GetResource("ActivityLog.PublicStore.ViewProduct"), product.Name);



            var bsQuickViewModel = new BsQuickViewModel();

            bsQuickViewModel.ProductDetailsModel = model;

            var settingsModel     = new BsQuickViewSettingsModel();
            var quickViewsettings = _settingService.LoadSetting <QuickViewSettings>();

            settingsModel.ButtonContainerName         = quickViewsettings.ButtonContainerName;
            settingsModel.EnableWidget                = quickViewsettings.EnableWidget;
            settingsModel.ShowAlsoPurchased           = quickViewsettings.ShowAlsoPurchased;
            settingsModel.ShowRelatedProducts         = quickViewsettings.ShowRelatedProducts;
            settingsModel.EnableEnlargePicture        = quickViewsettings.EnableEnlargePicture;
            bsQuickViewModel.BsQuickViewSettingsModel = settingsModel;



            /*return View(model.ProductTemplateViewPath, model);*/
            if (productTemplateViewPath.Equals("ProductTemplate.Simple"))
            {
                return(Json(new
                {
                    html = this.RenderPartialViewToString("BsQuickView/QuickViewProductTemplate.Simple", bsQuickViewModel),
                }));

                //return View("QuickViewProductTemplate.Simple", bsQuickViewModel);
            }
            else if (productTemplateViewPath.Equals("ProductTemplate.Grouped"))
            {
                return(Json(new
                {
                    html = this.RenderPartialViewToString("BsQuickView/QuickViewProductTemplate.Grouped", bsQuickViewModel),
                }));

                //return View("QuickViewProductTemplate.Grouped", bsQuickViewModel);
            }
            return(new NullJsonResult());
        }