Exemple #1
0
 public ActionCatalogItemGetOfRel(IExpressionViewModel expressionViewModel)
     : base("Get [] % off".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput(0, 0, 100) as UserInputElement;
     WithLabel("% off".Localize());
 }
Exemple #2
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}";
 }
 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;
 }
Exemple #4
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;
 }
Exemple #5
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;
 }
 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;
 }
 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());
 }
 public ActionCatalogItemGetOfAbs(IExpressionViewModel expressionViewModel)
     : base("Get off $ []".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput <decimal>(1, 0) as UserInputElement;
     WithLabel("$ off".Localize());
 }
 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;
 }
Exemple #10
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;
 }
 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;
 }
Exemple #12
0
        protected ExpressionElement WithUserInput <T>(T defaultValue, T minValue, T maxValue)
        {
            var inputEl = new UserInputElement {
                ValueType = typeof(T), MinValue = minValue, MaxValue = maxValue, DefaultValue = defaultValue
            };

            return(WithElement(inputEl));
        }
 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));
 }
 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;
 }
Exemple #15
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 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;
 }
 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;
 }
Exemple #18
0
 public ActionCartItemGetOfAbsForNum(IExpressionViewModel promotionViewModel)
     : base("Get $[] off [] items".Localize(), promotionViewModel)
 {
     WithLabel("Get $".Localize());
     _amountEl = WithUserInput <decimal>(0, 0) as UserInputElement;
     WithLabel("off".Localize());
     _numItemEl = WithUserInput(1, 0) as UserInputElement;
     WithLabel("items".Localize());
     InitializeExcludings(promotionViewModel);
 }
Exemple #19
0
 public ConditionAtNumItemsInCart(IExpressionViewModel expressionViewModel)
     : base("[] [] items are in shopping cart".Localize(), expressionViewModel)
 {
     ExactlyLeast = WithElement(new ExactlyLeast()) as ExactlyLeast;
     _numItemEl   = WithUserInput(1, 0) as UserInputElement;
     WithLabel("items in shopping cart".Localize());
     WithAvailableExcluding(() => new ItemsInCategory(expressionViewModel));
     WithAvailableExcluding(() => new ItemsInEntry(expressionViewModel));
     WithAvailableExcluding(() => new ItemsInSku(expressionViewModel));
 }
 public ActionCartItemGetOfRelForNumInCategory(IExpressionViewModel expressionViewModel)
     : base("Get [] % off [] items in category []".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput(0, 0, 100) as UserInputElement;
     WithLabel(" % off".Localize());
     _numItemEl         = WithUserInput(1, 0) as UserInputElement;
     _itemsInCategoryEl = WithElement(new ItemsInCategory(expressionViewModel)) as ItemsInCategory;
     InitializeExcludings(expressionViewModel);
 }
Exemple #21
0
 public ActionCartItemGetOfRelForNum(IExpressionViewModel expressionViewModel)
     : base("Get []% off [] items".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput(0, 0, 100) as UserInputElement;
     WithLabel("% off".Localize());
     _numItemEl = WithUserInput(1, 0) as UserInputElement;
     WithLabel("items".Localize());
     InitializeExcludings(expressionViewModel);
 }
        public ConditionCurrencyIs(IExpressionViewModel expressionViewModel)
            : base("Currency is []".Localize(), expressionViewModel)
        {
            WithLabel("Currency is ".Localize());

            var allCurrencies   = GetAvailableCurrencies(expressionViewModel);
            var defaultCurrency = allCurrencies.Length > 0 ? allCurrencies[0] : null;

            _currencyEl = WithDict(allCurrencies, defaultCurrency) as UserInputElement;
        }
Exemple #23
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));
 }
 public ConditionAtNumItemsOfEntryAreInCart(IExpressionViewModel expressionViewModel)
     : base("[] [] items of entry are in shopping cart".Localize(), expressionViewModel)
 {
     ExactlyLeast    = WithElement(new ExactlyLeast()) as ExactlyLeast;
     _numItemEl      = WithUserInput(1, 0) as UserInputElement;
     _itemsInEntryEl = WithElement(new ItemsInEntry(expressionViewModel)) as ItemsInEntry;
     WithLabel("are in shopping cart".Localize());
     _itemsInEntryEl.SelectedItemChanged += SelectedEntryItemChanged;
     InitializeExcludings();
 }
Exemple #25
0
 public ActionCartItemGetOfRelForNumInEntry(IExpressionViewModel expressionViewModel)
     : base("Get [] % off [] items of entry []".Localize(), expressionViewModel)
 {
     WithLabel("Get".Localize());
     _amountEl = WithUserInput(0, 0, 100) as UserInputElement;
     WithLabel(" % off".Localize());
     _numItemEl      = WithUserInput(1, 0) as UserInputElement;
     _itemsInEntryEl = WithElement(new ItemsInEntry(expressionViewModel)) as ItemsInEntry;
     _itemsInEntryEl.SelectedItemChanged += SelectedEntryItemChanged;
     InitializeExcludings();
 }
Exemple #26
0
        protected ExpressionElement WithUserInput <T>(T defaultValue)
        {
            if (typeof(T) == typeof(int))
            {
                return(WithUserInput(Convert.ToInt32(defaultValue), int.MinValue, int.MaxValue));
            }

            if (typeof(T) == typeof(double))
            {
                return(WithUserInput(Convert.ToDouble(defaultValue), double.MinValue, double.MaxValue));
            }

            if (typeof(T) == typeof(decimal))
            {
                return(WithUserInput(Convert.ToDecimal(defaultValue), decimal.MinValue, decimal.MaxValue));
            }

            var inputEl = new UserInputElement {
                ValueType = typeof(T), DefaultValue = defaultValue
            };

            return(WithElement(inputEl));
        }
 public CartTotalElement(IExpressionViewModel expressionViewModel)
     : base(ElementLabel, expressionViewModel)
 {
     CompareConditions = WithElement(new CompareConditions(false)) as CompareConditions;
     _stringItemEl     = WithUserInput <decimal>(0, 0) as UserInputElement;
 }
Exemple #28
0
 public ConditionCaseStatus(IExpressionViewModel expressionViewModel)
     : base("Case status".Localize(), expressionViewModel)
 {
     WithLabel("Case status is ".Localize());
     _caseStatusEl = WithDict(new string[] { "Open", "Pending", "Closed" }, "Open") as UserInputElement;
 }