Esempio n. 1
0
        /// <summary>
        /// Inserts a cross-sell product
        /// </summary>
        /// <param name="crossSellProduct">Cross-sell product</param>
        public virtual void InsertCrossSellProduct(CrossSellProduct crossSellProduct)
        {
            if (crossSellProduct == null)
                throw new ArgumentNullException("crossSellProduct");

            //_crossSellProductRepository.Insert(crossSellProduct);
            var updatebuilder = Builders<Product>.Update;
            var update = updatebuilder.AddToSet(p => p.CrossSellProduct, crossSellProduct.ProductId2);
            _productRepository.Collection.UpdateOneAsync(new BsonDocument("Id", crossSellProduct.ProductId1), update);

            //cache
            _cacheManager.RemoveByPattern(string.Format(PRODUCTS_BY_ID_KEY, crossSellProduct.ProductId1));

            //event notification
            _eventPublisher.EntityInserted(crossSellProduct);
        }
Esempio n. 2
0
        /// <summary>
        /// Inserts a cross-sell product
        /// </summary>
        /// <param name="crossSellProduct">Cross-sell product</param>
        public virtual void InsertCrossSellProduct(CrossSellProduct crossSellProduct)
        {
            if (crossSellProduct == null)
                throw new ArgumentNullException("crossSellProduct");

            _crossSellProductRepository.Insert(crossSellProduct);

            //event notification
            _eventPublisher.EntityInserted(crossSellProduct);
        }
Esempio n. 3
0
        public ActionResult CrossSellProductDelete(int id, int productId2)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts))
                return AccessDeniedView();

            var product = _productService.GetProductById(productId2);

            var crossSellProduct = product.CrossSellProduct.Where(x => x == id).FirstOrDefault();  //_productService.GetCrossSellProductById(id);
            if (crossSellProduct == 0)
                throw new ArgumentException("No cross-sell product found with the specified id");

            //var productId = crossSellProduct.ProductId1;

            //a vendor should have access only to his products
            if (_workContext.CurrentVendor != null)
            {
                if (product != null && product.VendorId != _workContext.CurrentVendor.Id)
                {
                    return Content("This is not your product");
                }
            }

            CrossSellProduct crosssell = new CrossSellProduct()
            {
                ProductId1 = productId2,
                ProductId2 = crossSellProduct
            };

            _productService.DeleteCrossSellProduct(crosssell);

            return new NullJsonResult();
        }