public void GetPromotionRules()
        {
            GetPromotionRulesCall api = new GetPromotionRulesCall(this.apiContext);

            api.PromotionMethod = PromotionMethodCodeType.CrossSell;
            api.StoreCategoryID = 1;
            // Make API call.
            PromotionRuleTypeCollection rules = api.GetPromotionRules(api.ItemID, api.PromotionMethod);

            // Verify the result.
            Assert.IsNotNull(rules);
        }
        public void GetPromotionRulesFull()
        {
            bool   isTherePropertyNull;
            int    nullPropertyNums;
            string nullPropertyNames;

            Assert.IsNotNull(TestData.NewItem2, "Failed because no item available -- requires successful AddItem test");
            GetPromotionRulesCall api = new GetPromotionRulesCall(this.apiContext);

            string itemID = TestData.NewItem2.ItemID;
            PromotionMethodCodeType     promotionType = PromotionMethodCodeType.UpSell;
            PromotionRuleTypeCollection rules         = api.GetPromotionRules(itemID, promotionType);

            //check whether the call is success.
            Assert.IsTrue(api.ApiResponse.Ack == AckCodeType.Success || api.ApiResponse.Ack == AckCodeType.Warning, "do not success!");

            Assert.IsNotNull(rules);
            if (rules != null && rules.Count > 0)
            {
                isTherePropertyNull = ReflectHelper.IsProperteValueNotNull(rules[0], out nullPropertyNums, out nullPropertyNames);
                Assert.IsTrue(isTherePropertyNull, "there are" + nullPropertyNums.ToString() + " properties(" + nullPropertyNames + ")value is null");
            }
        }