Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Class BuyOneGetOneProcessor

The processor responsible for evaluating if a promotion of type BuyOneGetOneDiscount should apply a reward to an order group.

Implements
Namespace: EPiServer.Commerce.Marketing.Promotions
Assembly: EPiServer.Business.Commerce.dll
Version: 14.26.0
Syntax
public class BuyOneGetOneProcessor : EntryPromotionProcessorBase<BuyOneGetOneDiscount>, IPromotionProcessor

Constructors

BuyOneGetOneProcessor(CollectionTargetEvaluator, FulfillmentEvaluator, GiftItemFactory, LocalizationService, RedemptionDescriptionFactory)

Creates an instance of a BuyOneGetOneProcessor.

Declaration
public BuyOneGetOneProcessor(CollectionTargetEvaluator targetEvaluator, FulfillmentEvaluator fulfillmentEvaluator, GiftItemFactory giftItemFactory, LocalizationService localizationService, RedemptionDescriptionFactory redemptionDescriptionFactory)
Parameters
Type Name Description
CollectionTargetEvaluator targetEvaluator

The service that is used to evaluate an order against a promotion's target properties.

FulfillmentEvaluator fulfillmentEvaluator

The service that is used to evaluate the fulfillment status of the promotion.

GiftItemFactory giftItemFactory

The service that is used to get applicable gift items.

EPiServer.Framework.Localization.LocalizationService localizationService

Service to handle localization of text strings.

RedemptionDescriptionFactory redemptionDescriptionFactory

Factory for creating RedemptionDescriptions.

Methods

CanBeFulfilled(BuyOneGetOneDiscount, PromotionProcessorContext)

Declaration
protected override bool CanBeFulfilled(BuyOneGetOneDiscount promotionData, PromotionProcessorContext context)
Parameters
Type Name Description
BuyOneGetOneDiscount promotionData
PromotionProcessorContext context
Returns
Type Description
System.Boolean
Overrides
EPiServer.Commerce.Marketing.PromotionProcessorBase<EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount>.CanBeFulfilled(EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount, EPiServer.Commerce.Marketing.PromotionProcessorContext)

Evaluate(BuyOneGetOneDiscount, PromotionProcessorContext)

Declaration
protected override RewardDescription Evaluate(BuyOneGetOneDiscount promotionData, PromotionProcessorContext context)
Parameters
Type Name Description
BuyOneGetOneDiscount promotionData
PromotionProcessorContext context
Returns
Type Description
RewardDescription
Overrides
EPiServer.Commerce.Marketing.PromotionProcessorBase<EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount>.Evaluate(EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount, EPiServer.Commerce.Marketing.PromotionProcessorContext)

GetPromotionItems(BuyOneGetOneDiscount)

Declaration
protected override PromotionItems GetPromotionItems(BuyOneGetOneDiscount promotionData)
Parameters
Type Name Description
BuyOneGetOneDiscount promotionData
Returns
Type Description
PromotionItems
Overrides
EPiServer.Commerce.Marketing.PromotionProcessorBase<EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount>.GetPromotionItems(EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount)

NotFulfilledRewardDescription(BuyOneGetOneDiscount, PromotionProcessorContext, FulfillmentStatus)

Declaration
protected override RewardDescription NotFulfilledRewardDescription(BuyOneGetOneDiscount promotionData, PromotionProcessorContext context, FulfillmentStatus fulfillmentStatus)
Parameters
Type Name Description
BuyOneGetOneDiscount promotionData
PromotionProcessorContext context
FulfillmentStatus fulfillmentStatus
Returns
Type Description
RewardDescription
Overrides
EPiServer.Commerce.Marketing.PromotionProcessorBase<EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount>.NotFulfilledRewardDescription(EPiServer.Commerce.Marketing.Promotions.BuyOneGetOneDiscount, EPiServer.Commerce.Marketing.PromotionProcessorContext, EPiServer.Commerce.Marketing.FulfillmentStatus)

Implements