protected virtual int EnsureMutuallyCrossSellProducts(List <int> productIds) { int count = 0; foreach (int id1 in productIds) { var mutualAssociations = ( from rp in _crossSellProductRepository.Table join p in _productRepository.Table on rp.ProductId2 equals p.Id where rp.ProductId2 == id1 && !p.Deleted && !p.IsSystemProduct select rp).ToList(); foreach (int id2 in productIds) { if (id1 == id2) { continue; } if (!mutualAssociations.Any(x => x.ProductId1 == id2)) { var newCrossSellProduct = new CrossSellProduct { ProductId1 = id2, ProductId2 = id1 }; InsertCrossSellProduct(newCrossSellProduct); ++count; } } } return(count); }
public virtual void UpdateCrossSellProduct(CrossSellProduct crossSellProduct) { Guard.NotNull(crossSellProduct, nameof(crossSellProduct)); _crossSellProductRepository.Update(crossSellProduct); // event notification _services.EventPublisher.EntityUpdated(crossSellProduct); }
public virtual void UpdateCrossSellProduct(CrossSellProduct crossSellProduct) { if (crossSellProduct == null) { throw new ArgumentNullException("crossSellProduct"); } _crossSellProductRepository.Update(crossSellProduct); //event notification _services.EventPublisher.EntityUpdated(crossSellProduct); }
public void OnCrossSellFound(object sender, EventArgs e) { if (null != ProductsBase.SessionInfo && ProductsBase.SessionInfo.IsEventTicketMode) { TryAlsoPanel.Visible = false; UpdateCalled = true; } else { var eventArgs = e as CrossSellEventArgs; if (eventArgs != null) { CategoryID = eventArgs.CrossSellInfo.CategoryID; CrossSellProduct.DataSource = new List <ProductInfo_V02> { eventArgs.CrossSellInfo.Product }; CrossSellProduct.DataBind(); TryAlsoPanel.Visible = true; UpdateCalled = true; } } }
public virtual void UpdateCrossSellProduct(CrossSellProduct crossSellProduct) { Guard.NotNull(crossSellProduct, nameof(crossSellProduct)); _crossSellProductRepository.Update(crossSellProduct); }
public virtual void InsertCrossSellProduct(CrossSellProduct crossSellProduct) { Guard.NotNull(crossSellProduct, nameof(crossSellProduct)); _crossSellProductRepository.Insert(crossSellProduct); }