protected override RewardDescription Evaluate(FreeStuffPromotion promotionData, PromotionProcessorContext context)
        {
            var condition = promotionData.RequiredQty;

            var lineItems = context.OrderForm.GetAllLineItems();

            IList <string> skuCodes = _collectionTargetEvaluator.GetApplicableCodes(lineItems,
                                                                                    condition.Items, false);

            FulfillmentStatus status = promotionData.RequiredQty
                                       .GetFulfillmentStatus(context.OrderForm, _collectionTargetEvaluator, _fulfillmentEvaluator);

            List <RedemptionDescription> redemptions = new List <RedemptionDescription>();

            if (status == FulfillmentStatus.Fulfilled)
            {
                AffectedEntries entries = _giftItemFactory.CreateGiftItems(promotionData.FreeItem, context);
                redemptions.Add(CreateRedemptionDescription(entries));
            }

            return(RewardDescription.CreateGiftItemsReward(status, redemptions,
                                                           promotionData, CreateCustomRewardDescriptionText(status, promotionData)));
        }
Exemplo n.º 2
0
 // could have some custom stuff here
 protected override RedemptionDescription CreateRedemptionDescription(AffectedEntries affectedEntries)
 {
     return(base.CreateRedemptionDescription(affectedEntries));
 }