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))); }
// could have some custom stuff here protected override RedemptionDescription CreateRedemptionDescription(AffectedEntries affectedEntries) { return(base.CreateRedemptionDescription(affectedEntries)); }