private void InitializeAvailableExpressions() { var availableElements = new Func<CompositeElement>[] { ()=> { //Browse behavior menu items var group = new CompositeElement { DisplayName = "Browse behavior".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionStoreSearchedPhrase(this.ExpressionViewModel), ()=> new ConditionInternetSearchedPhrase(this.ExpressionViewModel), () => new ConditionCurrentUrlIs(this.ExpressionViewModel), ()=> new ConditionStoreIs(this.ExpressionViewModel), ()=> new ConditionLanguageIs(this.ExpressionViewModel), ()=> new ConditionCategoryIs(this.ExpressionViewModel, false), //without subcategories ()=> new ConditionCategoryIs(this.ExpressionViewModel, true) //with subcategories }); return group; }, ()=> { //Shopper profile menu items var group = new CompositeElement { DisplayName = "Shopper profile".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionShopperAge(this.ExpressionViewModel), ()=> new ConditionGenderIs(this.ExpressionViewModel)}); return group; }, ()=> { //Shopping cart menu items var group = new CompositeElement { DisplayName = "Shopping cart".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionCartTotalIs(this.ExpressionViewModel)}); return group; }, ()=> { //Shoppers geo location menu items var group = new CompositeElement { DisplayName = "Geo location".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionGeoCity(this.ExpressionViewModel), ()=> new ConditionGeoState(this.ExpressionViewModel), ()=> new ConditionGeoCountry(this.ExpressionViewModel), ()=> new ConditionGeoContinent(this.ExpressionViewModel), ()=> new ConditionGeoZipCode(this.ExpressionViewModel), ()=> new ConditionGeoTimeZone(this.ExpressionViewModel), ()=> new ConditionGeoConnectionType(this.ExpressionViewModel), ()=> new ConditionGeoIpRoutingType(this.ExpressionViewModel), ()=> new ConditionGeoIspSecondLevel(this.ExpressionViewModel), ()=> new ConditionGeoIspTopLevel(this.ExpressionViewModel), }); return group; }, }; ConditionBlock.WithAvailabeChildren(availableElements); ConditionBlock.NewChildLabel = "+ add condition".Localize(null, LocalizationScope.DefaultCategory); }
private void InitializeAvailableExpressions() { var availableElements = new Func<CompositeElement>[] { ()=> { //Browse behavior menu items var group = new CompositeElement { DisplayName = "Browse behavior" }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { //()=> new ConditionStoreSearchedPhrase(this.ExpressionViewModel), ()=> new ConditionInternetSearchedPhrase(this.ExpressionViewModel), () => new ConditionCurrentUrlIs(this.ExpressionViewModel), () => new ConditionReferedFromUrl(this.ExpressionViewModel) //()=> new ConditionStoreIs(this.ExpressionViewModel), }); return group; }, ()=> { //Shoppers profile menu items var group = new CompositeElement { DisplayName = "Shopper profile" }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionAge(this.ExpressionViewModel), ()=> new ConditionGenderIs(this.ExpressionViewModel) }); return group; }, ()=> { //Shoppers geo location menu items var group = new CompositeElement { DisplayName = "Geo location" }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionGeoCity(this.ExpressionViewModel), ()=> new ConditionGeoState(this.ExpressionViewModel), ()=> new ConditionGeoCountry(this.ExpressionViewModel), ()=> new ConditionGeoContinent(this.ExpressionViewModel), ()=> new ConditionGeoZipCode(this.ExpressionViewModel), ()=> new ConditionGeoTimeZone(this.ExpressionViewModel), ()=> new ConditionGeoConnectionType(this.ExpressionViewModel), ()=> new ConditionGeoIpRoutingType(this.ExpressionViewModel), ()=> new ConditionGeoIspSecondLevel(this.ExpressionViewModel), ()=> new ConditionGeoIspTopLevel(this.ExpressionViewModel), }); return group; }, }; ConditionBlock.WithAvailabeChildren(availableElements); ConditionBlock.NewChildLabel = "+ add condition"; }
private void InitializeAvailableExpressions() { var availableElements = new Func<CompositeElement>[] { //()=> { // var group = new CompositeElement { DisplayName = "Customer conditions" }; // group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { // ()=> new ConditionCustomerStatus(this.ExpressionViewModel) // }); // return group; //}, ()=> { var group = new CompositeElement { DisplayName = "Case conditions" }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionCaseStatus(this.ExpressionViewModel) }); return group; } //()=> { // var group = new CompositeElement { DisplayName = "Order conditions" }; // group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { // ()=> new ConditionOrderStatus(this.ExpressionViewModel) // }); // return group; //} }; ConditionBlock.WithAvailabeChildren(availableElements); ConditionBlock.NewChildLabel = "+ add condition"; availableElements = new Func<CompositeElement>[] { ()=> new ActionXslInlineAlert(this.ExpressionViewModel), ()=> new ActionHtmlInlineAlert(this.ExpressionViewModel), ()=> new ActionRedirectAlert(this.ExpressionViewModel) }; ActionBlock.WithAvailabeChildren(availableElements); ActionBlock.NewChildLabel = "+ add effect"; }
private void InitializeAvailableExpressions() { var availableElements = new Func<CompositeElement>[] { ()=> { //Items conditions menu items var group = new CompositeElement { DisplayName = "Item conditions".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionEntryIs(this.ExpressionViewModel), ()=> new ConditionItemTypeIs(this.ExpressionViewModel), ()=> new ConditionItemPropertyIs(this.ExpressionViewModel), }); return group; }, ()=> { //Category conditions menu items var group = new CompositeElement { DisplayName = "Category conditions".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ConditionCategoryIs(this.ExpressionViewModel), }); return group; }, }; ConditionBlock.WithAvailabeChildren(availableElements); ConditionBlock.NewChildLabel = "+ add condition".Localize(null, LocalizationScope.DefaultCategory); }
private void InitializeAvailableExpressions() { var availableElements = new Func<CompositeElement>[] { ()=> new ConditionIsEveryone(ExpressionViewModel), ()=> new ConditionIsFirstTimeBuyer(ExpressionViewModel), ()=> new ConditionIsRegisteredUser(ExpressionViewModel) }; ConditionCutomerSegmentBlock.WithAvailabeChildren(availableElements); ConditionCutomerSegmentBlock.NewChildLabel = "+ add usergroup".Localize(null, LocalizationScope.DefaultCategory); ConditionCutomerSegmentBlock.IsChildrenRequired = true; ConditionCutomerSegmentBlock.ErrorMessage = "Cart promotion requires at least one eligibility".Localize(); availableElements = new Func<CompositeElement>[] { ()=> new ConditionAtNumItemsInCart(ExpressionViewModel), ()=> new ConditionAtNumItemsInCategoryAreInCart(ExpressionViewModel), ()=> new ConditionAtNumItemsOfEntryAreInCart(ExpressionViewModel), ()=> new ConditionCodeContains(ExpressionViewModel), ()=> new ConditionLineItemTotal(ExpressionViewModel), ()=> new ConditionCartSubtotalLeast(ExpressionViewModel), ()=> new ConditionCurrencyIs(ExpressionViewModel) }; ConditionCartBlock.WithAvailabeChildren(availableElements); ConditionCartBlock.NewChildLabel = "+ add condition".Localize(null, LocalizationScope.DefaultCategory); availableElements = new Func<CompositeElement>[] { ()=> { //Cart item discounts menu items var group = new CompositeElement { DisplayName = "Cart item discount".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ActionCartItemGetOfRelForNum(ExpressionViewModel), ()=> new ActionCartItemGetOfAbsForNum(ExpressionViewModel), ()=> new ActionCartItemGetOfRelForNumInCategory(ExpressionViewModel), ()=> new ActionCartItemGetOfAbsForNumInCategory(ExpressionViewModel), ()=> new ActionCartItemGetOfRelForNumInEntry(ExpressionViewModel), ()=> new ActionCartItemGetOfAbsForNumInEntry(ExpressionViewModel), ()=> new ActionCartItemGetFreeNumItemOfSku(ExpressionViewModel)}); return group; }, ()=> { //Cart subtotal discounts menu items var group = new CompositeElement { DisplayName = "Cart subtotal discount".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ActionCartGetOfRelSubtotal(ExpressionViewModel), ()=> new ActionCartGetOfAbsSubtotal(ExpressionViewModel)}); return group; }, ()=> { //Shipping discounts menu items var group = new CompositeElement { DisplayName = "Shipping discount".Localize() }; group.AvailableChildrenGetters.AddRange(new Func<ExpressionElement>[] { ()=> new ActionShippingGetOfRelShippingMethod(ExpressionViewModel), ()=> new ActionShippingGetOfAbsShippingMethod(ExpressionViewModel)}); return group; } }; ActionBlock.WithAvailabeChildren(availableElements); ActionBlock.NewChildLabel = "+ add effect".Localize(null, LocalizationScope.DefaultCategory); ActionBlock.IsChildrenRequired = true; ActionBlock.ErrorMessage = "Promotion requires at least one reward".Localize(); }