public ActionCatalogItemGiftNumItemOfSku(IExpressionViewModel expressionViewModel)
     : base("Gift [] of Sku []".Localize(), expressionViewModel)
 {
     WithLabel("Gift".Localize());
     _quantityEl   = WithUserInput(1, 0) as UserInputElement;
     _itemsInSKUEl = WithElement(new ItemsInSku(expressionViewModel)) as ItemsInSku;
 }
        public ContentPublishingExpressionBlock(IExpressionViewModel publishingViewModel)
            : base(null, publishingViewModel)
        {
            this.ConditionBlock = new ConditionAndOrBlock("if".Localize(), publishingViewModel, "of these conditions are true".Localize());

            InitializeAvailableExpressions();
        }
 public ActionCatalogItemGetOfAbs(IExpressionViewModel expressionViewModel)
     : base("Get off $ []".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput <decimal>(1, 0) as UserInputElement;
     WithLabel("$ off".Localize());
 }
 public CatalogPromotionExpressionBlock(IExpressionViewModel promotionViewModel)
     : base(null, promotionViewModel)
 {
     ConditionBlock = new ConditionAndOrBlock("if".Localize(), promotionViewModel, "of these conditions are true".Localize());
     ActionBlock    = new ActionBlock("They get:".Localize(), promotionViewModel);
     InitializeAvailableExpressions();
 }
コード例 #5
0
		public ConditionGeoTimeZone(IExpressionViewModel expressionViewModel)
            : base("Are browsing from a time zone -/+ offset from UTC []".Localize(), expressionViewModel)
		{
            WithLabel("Are browsing from a time zone -/+ offset from UTC ".Localize());
			CompareConditions = WithElement(new CompareConditions(true)) as CompareConditions;
            _valEl = WithCustomDict(GetTimeZonesArray(), new string[] { "select time zone".Localize() }) as UserInputElement;
		}
コード例 #6
0
		public ConditionCategoryIs(IExpressionViewModel expressionViewModel)
			: base("Category is []", expressionViewModel)
		{
			WithLabel("Category is ");
			_itemsInCategoryEl = WithElement(new CategorySelectElement(expressionViewModel)) as CategorySelectElement;
			WithAvailableExcluding(() => new CategorySelectElement("Category", expressionViewModel));
		}
コード例 #7
0
 public ConditionCategoryIsSubcategory(IExpressionViewModel expressionViewModel)
     : base("Category is subcategory of []".Localize(), expressionViewModel)
 {
     WithLabel("Category is subcategory of ".Localize());
     _itemsInCategoryEl = WithElement(new CategorySelectElement(expressionViewModel)) as CategorySelectElement;
     WithAvailableExcluding(() => new CategorySelectElement("Category".Localize(), expressionViewModel));
 }
コード例 #8
0
		public ConditionCategoryIs(IExpressionViewModel expressionViewModel)
			: base(EntryLabel, expressionViewModel)
		{
			_itemsInCategoryEl = WithElement(new ItemsInCategory(expressionViewModel)) as ItemsInCategory;
			WithAvailableExcluding(() => new ItemsInCategory(expressionViewModel));
			WithAvailableExcluding(() => new ItemsInEntry(expressionViewModel));
		}
		public CatalogPromotionExpressionBlock(IExpressionViewModel promotionViewModel)
			: base(null, promotionViewModel)
		{
			ConditionBlock = new ConditionAndOrBlock("if".Localize(), promotionViewModel, "of these conditions are true".Localize());
			ActionBlock = new ActionBlock("They get:".Localize(), promotionViewModel);
			InitializeAvailableExpressions();
		}
        public ContentPublishingExpressionBlock(IExpressionViewModel publishingViewModel)
            : base(null, publishingViewModel)
        {
            this.ConditionBlock = new ConditionAndOrBlock("if".Localize(), publishingViewModel, "of these conditions are true".Localize());

            InitializeAvailableExpressions();
        }
コード例 #11
0
 public ConditionCategoryIs(IExpressionViewModel expressionViewModel)
     : base(EntryLabel, expressionViewModel)
 {
     _itemsInCategoryEl = WithElement(new ItemsInCategory(expressionViewModel)) as ItemsInCategory;
     WithAvailableExcluding(() => new ItemsInCategory(expressionViewModel));
     WithAvailableExcluding(() => new ItemsInEntry(expressionViewModel));
 }
コード例 #12
0
		public ActionCartGetOfRelSubtotal(IExpressionViewModel expressionViewModel)
			: base("Get [] % off cart subtotal".Localize(), expressionViewModel)
		{
			WithLabel("Get".Localize());
			_amountEl = WithUserInput(0, 0, 100) as UserInputElement;
			WithLabel("% off cart subtotal".Localize());
		}
コード例 #13
0
 public ActionCatalogItemGetOfRel(IExpressionViewModel expressionViewModel)
     : base("Get [] % off".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput(0, 0, 100) as UserInputElement;
     WithLabel("% off".Localize());
 }
コード例 #14
0
        public LanguageElement(IExpressionViewModel expressionViewModel)
        {
            InitializeAvailableValues(expressionViewModel);

            DefaultValue = AvailableValues.FirstOrDefault();
            InputDisplayName = "select language".Localize();
        }
コード例 #15
0
		public override void InitializeAfterDeserialized(IExpressionViewModel expressionViewModel)
		{
			base.InitializeAfterDeserialized(expressionViewModel);
			WithAvailableExcluding(() => new ItemsInCategory(expressionViewModel));
			WithAvailableExcluding(() => new ItemsInEntry(expressionViewModel));
			WithAvailableExcluding(() => new ItemsInSku(expressionViewModel));
		}
コード例 #16
0
 public ActionRedirectAlert(IExpressionViewModel expressionViewModel)
     : base("Raise redirect alert".Localize(), expressionViewModel)
 {
     WithLabel("Raise redirect alert\r\n  (use {CaseId}, {ContactId} as parameters)".Localize());
     _redirectEl = WithUserInput <string>(string.Empty) as UserInputElement;
     _redirectEl.DefaultValue = @"...?customerid={ContactId}&caseid={CaseId}";
 }
コード例 #17
0
		public ConditionGeoState(IExpressionViewModel expressionViewModel)
			: base("Are browsing from state/province []", expressionViewModel)
		{
			WithLabel("Browsing from state/province ");
			_matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
			_stateEl = WithCustomDict(GetStatesList(expressionViewModel), new string[] { "select state" }) as UserInputElement;
		}
コード例 #18
0
		public ActionCatalogItemGiftNumItemOfSku(IExpressionViewModel expressionViewModel)
			: base("Gift [] of Sku []", expressionViewModel)
        {
            WithLabel("Gift");
            _quantityEl = WithUserInput(1, 0) as UserInputElement;
			_itemsInSKUEl = WithElement(new ItemsInSku(expressionViewModel)) as ItemsInSku;
        }
コード例 #19
0
		public ConditionGeoContinent(IExpressionViewModel expressionViewModel)
			: base("Are browsing from continent []", expressionViewModel)
		{
			WithLabel("Are browsing from continent ");
			_matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
			_valEl = WithDict(new string[] { "Africa", "Antarctica", "Asia", "Australia", "Europe", "North America", "Oceania (Melanesia, Polinesia, Micronesia)", "South America" }, "select continent") as UserInputElement;
		}
コード例 #20
0
        public StoreElement(IExpressionViewModel expressionViewModel)
        {
            InitializeAvailableValues(expressionViewModel);

            DefaultValue     = AvailableValues.FirstOrDefault();
            InputDisplayName = "select Store".Localize();
        }
コード例 #21
0
		public ConditionAndOrBlock(string namePrefix, IExpressionViewModel expressionViewModel, string nameSuffix)
			: base(namePrefix + " ... " + nameSuffix, expressionViewModel)
        {
            if (!string.IsNullOrEmpty(namePrefix)) WithLabel(namePrefix);
            AllAny = WithElement(new AllAny()) as AllAny;
            if (!string.IsNullOrEmpty(nameSuffix)) WithLabel(nameSuffix);
        }
コード例 #22
0
        public ActionRedirectAlert(IExpressionViewModel expressionViewModel)
            : base("Raise redirect alert", expressionViewModel)
		{
            WithLabel("Raise redirect alert\r\n  (use {CaseId}, {ContactId} as parameters)");
			_redirectEl = WithUserInput<string>(string.Empty) as UserInputElement;
			_redirectEl.DefaultValue = @"...?customerid={ContactId}&caseid={CaseId}";
		}
コード例 #23
0
ファイル: StoreElement.cs プロジェクト: Wdovin/vc-community
        public StoreElement(IExpressionViewModel expressionViewModel)
        {
			InitializeAvailableValues(expressionViewModel);

            DefaultValue = AvailableValues.FirstOrDefault();
            InputDisplayName = "select Store";
        }
コード例 #24
0
 public ConditionGeoState(IExpressionViewModel expressionViewModel)
     : base("Are browsing from state/province []".Localize(), expressionViewModel)
 {
     WithLabel("Browsing from state/province ".Localize());
     _matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
     _stateEl = WithCustomDict(GetStatesList(expressionViewModel), new string[] { "select state".Localize() }) as UserInputElement;
 }
コード例 #25
0
		public ConditionGeoCountry(IExpressionViewModel expressionViewModel)
            : base("Are browsing from country []".Localize(), expressionViewModel)
		{
            WithLabel("Browsing from country ".Localize());
			_matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
            _valEl = WithCustomDict(GetCountryList(expressionViewModel), new[] { "select country".Localize() }) as UserInputElement;
		}
コード例 #26
0
 public ConditionGeoConnectionType(IExpressionViewModel expressionViewModel)
     : base("Are browsing from an internet connection type []".Localize(), expressionViewModel)
 {
     WithLabel("Are browsing from an internet connection type ".Localize());
     _matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
     _valEl   = WithDict(new string[] { "Ocx", "Tx", "Consumer satellite", "Frame relay", "Dsl" }, "select connection type".Localize()) as UserInputElement;
 }
コード例 #27
0
		public ActionCatalogItemGetOfAbs(IExpressionViewModel expressionViewModel)
			: base("Get off $ []".Localize(), expressionViewModel)
		{
			WithLabel("Get".Localize());
			_amountEl = WithUserInput<decimal>(1, 0) as UserInputElement;
			WithLabel("$ off".Localize());
		}
コード例 #28
0
 public ConditionGeoIpRoutingType(IExpressionViewModel expressionViewModel)
     : base("Are browsing from an internet IP routing of type []".Localize(), expressionViewModel)
 {
     WithLabel("Are browsing from an internet IP routing of type ".Localize());
     _matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
     _valEl   = WithDict(new string[] { "Fixed", "Anonymizer", "Aol", "Aolpop", "Aoldialup", "Aolproxy", "Pop", "Superpop", "Stallite", "Cache proxy", "International proxy", "Regional proxy", "Mobile gateway", "None" }, "select routing type".Localize()) as UserInputElement;
 }
コード例 #29
0
 public ActionCartGetOfAbsSubtotal(IExpressionViewModel expressionViewModel)
     : base("Get $[] off cart subtotal", expressionViewModel)
 {
     WithLabel("Get $");
     _amountEl = WithUserInput<decimal>(0, 0) as UserInputElement;
     WithLabel("off cart subtotal");
 }
コード例 #30
0
		public ConditionGeoIpRoutingType(IExpressionViewModel expressionViewModel)
			: base("Are browsing from an internet IP routing of type []".Localize(), expressionViewModel)
		{
			WithLabel("Are browsing from an internet IP routing of type ".Localize());
			_matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
			_valEl = WithDict(new string[] { "Fixed", "Anonymizer", "Aol", "Aolpop", "Aoldialup", "Aolproxy", "Pop", "Superpop", "Stallite", "Cache proxy", "International proxy", "Regional proxy", "Mobile gateway", "None" }, "select routing type".Localize()) as UserInputElement;
		}
コード例 #31
0
		public ConditionGeoConnectionType(IExpressionViewModel expressionViewModel)
            : base("Are browsing from an internet connection type []".Localize(), expressionViewModel)
		{
            WithLabel("Are browsing from an internet connection type ".Localize());
			_matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
            _valEl = WithDict(new string[] { "Ocx", "Tx", "Consumer satellite", "Frame relay", "Dsl" }, "select connection type".Localize()) as UserInputElement;
		}
コード例 #32
0
 public ConditionGeoCountry(IExpressionViewModel expressionViewModel)
     : base("Are browsing from country []".Localize(), expressionViewModel)
 {
     WithLabel("Browsing from country ".Localize());
     _matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
     _valEl   = WithCustomDict(GetCountryList(expressionViewModel), new[] { "select country".Localize() }) as UserInputElement;
 }
コード例 #33
0
 public override void InitializeAfterDeserialized(IExpressionViewModel expressionViewModel)
 {
     base.InitializeAfterDeserialized(expressionViewModel);
     WithAvailableExcluding(() => new ItemsInCategory(expressionViewModel));
     WithAvailableExcluding(() => new ItemsInEntry(expressionViewModel));
     WithAvailableExcluding(() => new ItemsInSku(expressionViewModel));
 }
コード例 #34
0
 public ConditionGeoContinent(IExpressionViewModel expressionViewModel)
     : base("Are browsing from continent []".Localize(), expressionViewModel)
 {
     WithLabel("Are browsing from continent ".Localize());
     _matchEl = WithElement(new MatchingContains(false, false)) as MatchingContains;
     _valEl   = WithDict(new string[] { "Africa", "Antarctica", "Asia", "Australia", "Europe", "North America", "Oceania (Melanesia, Polinesia, Micronesia)", "South America" }, "select continent".Localize()) as UserInputElement;
 }
コード例 #35
0
 public ConditionGeoTimeZone(IExpressionViewModel expressionViewModel)
     : base("Are browsing from a time zone -/+ offset from UTC []".Localize(), expressionViewModel)
 {
     WithLabel("Are browsing from a time zone -/+ offset from UTC ".Localize());
     CompareConditions = WithElement(new CompareConditions(true)) as CompareConditions;
     _valEl            = WithCustomDict(GetTimeZonesArray(), new string[] { "select time zone".Localize() }) as UserInputElement;
 }
 public ActionCartGetOfAbsSubtotal(IExpressionViewModel expressionViewModel)
     : base("Get $[] off cart subtotal".Localize(), expressionViewModel)
 {
     WithLabel("Get $".Localize());
     _amountEl = WithUserInput <decimal>(0, 0) as UserInputElement;
     WithLabel("off cart subtotal".Localize());
 }
コード例 #37
0
		public ActionCatalogItemGetOfRel(IExpressionViewModel expressionViewModel)
			: base("Get [] % off", expressionViewModel)
        {
            WithLabel("Get");
            _amountEl = WithUserInput(0, 0, 100) as UserInputElement;
            WithLabel("% off");
        }
コード例 #38
0
		public ConditionCategoryIsSubcategory(IExpressionViewModel expressionViewModel)
			: base("Category is subcategory of []".Localize(), expressionViewModel)
		{
			WithLabel("Category is subcategory of ".Localize());
			_itemsInCategoryEl = WithElement(new CategorySelectElement(expressionViewModel)) as CategorySelectElement;
			WithAvailableExcluding(() => new CategorySelectElement("Category".Localize(), expressionViewModel));
		}
コード例 #39
0
		public ActionShippingGetOfRelShippingMethod(IExpressionViewModel expressionViewModel)
			: base("Get [] % off shipping", expressionViewModel)
        {
            WithLabel("Get");
			_amountEl = WithUserInput(0, 0, 100) as UserInputElement;
            WithLabel("% off shipping ");
			_shippingMethodSelectorEl = WithElement(new ShippingMethodSelector(expressionViewModel)) as ShippingMethodSelector;
        }
コード例 #40
0
        public TestContentPublishingExpressionBuilder AddCartTotalElement(
            IExpressionViewModel expressionViewModel)
        {
            ((ConditionAndOrBlock)_child).Children.Add(
                new CartTotalElement(expressionViewModel));

            return(this);
        }
コード例 #41
0
 public ConditionItemsCategoryIs(IExpressionViewModel expressionViewModel)
     : base("Item is in category []", expressionViewModel)
 {
     WithLabel("Item is in category ");
     _itemsInCategoryEl = WithElement(new CategorySelectElement(expressionViewModel)) as CategorySelectElement;
     WithAvailableExcluding(() => new CategorySelectElement(expressionViewModel));
     WithAvailableExcluding(() => new ItemSelectElement(expressionViewModel));
 }
コード例 #42
0
		public ActionCartItemGetFreeNumItemOfSku(IExpressionViewModel promotionViewModel)
            : base("Get [] free items of SKU []", promotionViewModel)
        {
            WithLabel("Get");
            _numItemEl = WithUserInput(1) as UserInputElement;
            WithLabel("free");
			_itemsInSkuEl = WithElement(new ItemsInSku(promotionViewModel)) as ItemsInSku;
        }
 public ActionCartItemGetFreeNumItemOfSku(IExpressionViewModel promotionViewModel)
     : base("Get [] free items of SKU []".Localize(), promotionViewModel)
 {
     WithLabel("Get".Localize());
     _numItemEl = WithUserInput(1) as UserInputElement;
     WithLabel("free".Localize());
     _itemsInSkuEl = WithElement(new ItemsInSku(promotionViewModel)) as ItemsInSku;
 }
コード例 #44
0
		public MultiLineTextBoxInputElement(IExpressionViewModel expressionViewModel, string elementLabel, string selectLabel, string defaultValue)
			: base(elementLabel, expressionViewModel)
		{
			ElementLabel = elementLabel;
			SelectLabel = selectLabel;
			_defaultValue = defaultValue;
			_valueSelectorEl = WithCustomSelect(ValueSelector, SelectLabel) as CustomSelectorElement;
		}
コード例 #45
0
        public TestContentPublishingExpressionBuilder AddCartTotalElement(
            IExpressionViewModel expressionViewModel)
        {
            ((ConditionAndOrBlock)_child).Children.Add(
                new CartTotalElement(expressionViewModel));

            return this;
        }
 public ActionShippingGetOfAbsShippingMethod(IExpressionViewModel expressionViewModel)
     : base("Get $[] off shipping".Localize(), expressionViewModel)
 {
     WithLabel("Get $ ".Localize());
     _amountEl = WithUserInput <decimal>(1, 0) as UserInputElement;
     WithLabel("off shipping ".Localize());
     _shippingMethodSelectorEl = WithElement(new ShippingMethodSelector(expressionViewModel)) as ShippingMethodSelector;
 }
コード例 #47
0
        public CartPromotionExpressionBuilderHelper AddIsFirstTimeBuyerEligibility(
            IExpressionViewModel expressionViewModel)
        {
            _child.ConditionCutomerSegmentBlock.Children.Add(
                new ConditionIsFirstTimeBuyer(expressionViewModel));

            return(this);
        }
コード例 #48
0
		public ConditionItemPropertyIs(IExpressionViewModel expressionViewModel)
			: base("Item property is [] ", expressionViewModel)
		{
			WithLabel("Item property is ");
			_propEl = WithUserInput<string>(string.Empty) as UserInputElement;
			WithLabel(" and value is ");
			_propValueEl = WithUserInput<string>(string.Empty) as UserInputElement;
		}
		public CartPromotionExpressionBuilderHelper AddIsFirstTimeBuyerEligibility(
			IExpressionViewModel expressionViewModel)
		{
			_child.ConditionCutomerSegmentBlock.Children.Add(
				new ConditionIsFirstTimeBuyer(expressionViewModel));

			return this;
		}
コード例 #50
0
 public ConditionCodeContains(IExpressionViewModel expressionViewModel)
     : base("Entry code contains []".Localize(), expressionViewModel)
 {
     WithLabel("Entry code contains ".Localize());
     //_skuEl = WithElement(new MatchContainsStringElement(expressionViewModel)) as MatchContainsStringElement;
     _skuEl = WithUserInput <string>(string.Empty) as UserInputElement;
     WithAvailableExcluding(() => new ItemsInSku(expressionViewModel));
 }
コード例 #51
0
		public ConditionCodeContains(IExpressionViewModel expressionViewModel)
			: base("Entry code contains []", expressionViewModel)
		{
			WithLabel("Entry code contains ");
			//_skuEl = WithElement(new MatchContainsStringElement(expressionViewModel)) as MatchContainsStringElement;
			_skuEl = WithUserInput<string>(string.Empty) as UserInputElement;
			WithAvailableExcluding(() => new ItemsInSku(expressionViewModel));
		}
コード例 #52
0
		public ConditionCategoryPropertyIs(IExpressionViewModel expressionViewModel)
			: base("Category property is []".Localize(), expressionViewModel)
		{
			WithLabel("Category property is ".Localize());
			_propEl = WithUserInput<string>(string.Empty) as UserInputElement;
			WithLabel(" and value is ".Localize());
			_propValueEl = WithUserInput<string>(string.Empty) as UserInputElement;
		}
		public CartPromotionExpressionBuilderHelper AddEveryoneEligibility(
			IExpressionViewModel expressionViewModel)
		{
			_child.ConditionCutomerSegmentBlock.Children.Add(
				new ConditionIsEveryone(expressionViewModel));

			return this;
		}
コード例 #54
0
 public MultiLineTextBoxInputElement(IExpressionViewModel expressionViewModel, string elementLabel, string selectLabel, string defaultValue)
     : base(elementLabel, expressionViewModel)
 {
     ElementLabel     = elementLabel;
     SelectLabel      = selectLabel;
     _defaultValue    = defaultValue;
     _valueSelectorEl = WithCustomSelect(ValueSelector, SelectLabel) as CustomSelectorElement;
 }
 public ActionShippingGetOfRelShippingMethod(IExpressionViewModel expressionViewModel)
     : base("Get [] % off shipping".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput(0, 0, 100) as UserInputElement;
     WithLabel("% off shipping ".Localize());
     _shippingMethodSelectorEl = WithElement(new ShippingMethodSelector(expressionViewModel)) as ShippingMethodSelector;
 }
コード例 #56
0
 public ConditionCategoryPropertyIs(IExpressionViewModel expressionViewModel)
     : base("Category property is []".Localize(), expressionViewModel)
 {
     WithLabel("Category property is ".Localize());
     _propEl = WithUserInput <string>(string.Empty) as UserInputElement;
     WithLabel(" and value is ".Localize());
     _propValueEl = WithUserInput <string>(string.Empty) as UserInputElement;
 }
コード例 #57
0
 public override void InitializeAvailableValues(IExpressionViewModel expressionViewModel)
 {
     using (var repository = ((IContentPublishingItemViewModel)expressionViewModel).StoreRepositoryFactory.GetRepositoryInstance())
     {
         var names = new List <KeyValuePair <string, string> >();
         repository.Stores.ToList().ForEach(x => names.Add(new KeyValuePair <string, string>(x.StoreId, x.Name)));
         AvailableValues = names.ToArray();
     }
 }
コード例 #58
0
        public TestContentPublishingExpressionBuilder AddConditionAddOrBlock(
            IExpressionViewModel expressionViewModel)
        {
            ((ConditionAndOrBlock)_child).Children.Add(
                new ConditionAndOrBlock("default_prefix", expressionViewModel,
                                        "default_suffix"));

            return(this);
        }
コード例 #59
0
        public CartPromotionExpressionBlock(IExpressionViewModel promotionViewModel)
            : base(null, promotionViewModel)
        {
            ConditionCutomerSegmentBlock = new ConditionAndOrBlock("For visitor with".Localize(), promotionViewModel, "of these eligibilities".Localize());
            ConditionCartBlock           = new ConditionAndOrBlock("if".Localize(), promotionViewModel, "of these conditions are true".Localize());
            ActionBlock = new ActionBlock("They get:".Localize(), promotionViewModel);

            InitializeAvailableExpressions();
        }
コード例 #60
0
 public ConditionCartSubtotalLeast(IExpressionViewModel expressionViewModel)
     : base("Cart subtotal is []".Localize(), expressionViewModel)
 {
     WithLabel("Cart subtotal is ".Localize());
     ExactlyLeast = WithElement(new ExactlyLeast()) as ExactlyLeast;
     _subTotalEl  = WithUserInput <decimal>(0, 0) as UserInputElement;
     WithAvailableExcluding(() => new ItemsInCategory(expressionViewModel));
     WithAvailableExcluding(() => new ItemsInEntry(expressionViewModel));
     WithAvailableExcluding(() => new ItemsInSku(expressionViewModel));
 }