public void Execute(OnAddingArgs <Document> args) { Document document = args.Item; if (document != null && document.DisplayOrder == 0) { document.DisplayOrder = GetMaxParentDisplayOrder(document, args.Session); } }
public void Execute(OnAddingArgs <Webpage> args) { var now = CurrentRequestData.Now; var webpage = args.Item; if (webpage.PublishOn <= now && webpage.Published == false) { webpage.Published = true; } }
public void Execute(OnAddingArgs <ProductVariant> args) { ProductVariant productVariant = args.Item; if (productVariant.Product != null && !productVariant.Product.Variants.Contains(productVariant)) { productVariant.Product.Variants.Add(productVariant); foreach (ProductOptionValue value in productVariant.OptionValues) { value.ProductVariant = productVariant; } } }
public void Execute(OnAddingArgs <Document> args) { Document document = args.Item; // if the document isn't set or it's top level (i.e. no parent) we don't want to deal with it here if (document?.Parent == null) { return; } // if it's not 0 it means it's been set, so we'll not update it if (document.DisplayOrder != 0) { return; } document.DisplayOrder = GetMaxParentDisplayOrder(document.Parent, args.Session); }
public void Execute(OnAddingArgs <Product> args) { var product = args.Item; if (!product.Variants.Any()) { var productVariant = new ProductVariant { Name = product.Name, TrackingPolicy = TrackingPolicy.DontTrack, }; product.Variants.Add(productVariant); productVariant.Product = product; _session.Transact(s => s.Save(productVariant)); } var mediaCategory = _documentService.GetDocumentByUrl <MediaCategory>("product-galleries"); if (mediaCategory == null) { mediaCategory = new MediaCategory { Name = "Product Galleries", UrlSegment = "product-galleries", IsGallery = true, HideInAdminNav = true }; _documentService.AddDocument(mediaCategory); } var productGallery = new MediaCategory { Name = product.Name, UrlSegment = "product-galleries/" + product.UrlSegment, IsGallery = true, Parent = mediaCategory, HideInAdminNav = true }; product.Gallery = productGallery; _documentService.AddDocument(productGallery); }
public void Execute(OnAddingArgs <ContentItem> args) { ContentItem contentItem = args.Item; Newsletter newsletter = contentItem.Newsletter; if (newsletter == null) { return; } var session = args.Session; if (!GetBaseQuery(session, newsletter).Any()) { return; } contentItem.DisplayOrder = GetBaseQuery(session, newsletter) .Select(Projections.Max <ContentItem>(x => x.DisplayOrder)) .SingleOrDefault <int>() + 1; }
public void Execute(OnAddingArgs <T> args) { T tDoc = args.Item; // if the document isn't set or it's not top level (i.e. has a parent) we don't want to deal with it here if (tDoc == null || tDoc.Parent != null) { return; } // if it's not 0 it means it's been set, so we'll not update it if (tDoc.DisplayOrder != 0) { return; } var documentsByParent = _getDocumentsByParent.GetDocuments(null) .Where(doc => doc != tDoc).ToList(); tDoc.DisplayOrder = documentsByParent.Any() ? documentsByParent.Max(category => category.DisplayOrder) + 1 : 0; }
public void Execute(OnAddingArgs <CategoryProductDisplayOrder> args) { UpdateProduct(args.Session, args.Item.Product); }
public void Execute(OnAddingArgs <CartItemBasedDiscountApplication> args) { RemoveSKUAndCategoryIfRequired(args.Item); }
public void Execute(OnAddingArgs <Discount> args) { RemoveCodeIfRequired(args.Item); }