public void GrantBenefit(Visitor visitor, IVisitorHistoryRepository historyService, IPromotionCodeGenerator generator)
 {
     Require.IsTrue(IsActive, "Promotion is not active");
     if (ReceiveCondition.IsSatisfiedFor(visitor, historyService))
     {
         Benefit.ApplyFor(visitor, generator);
         DomainEventBus.Current.Raise(new PromotionGrantedForVisitor(Id, visitor.Id));
     }
 }
 public ApplyPromotionsWhenMovieWatched(
     IPromotionRepository promotionRepository,
     IVisitorHistoryRepository historyRepository,
     IPromotionCodeGenerator promotionCodeGenerator)
 {
     _promotionRepository    = promotionRepository;
     _historyRepository      = historyRepository;
     _promotionCodeGenerator = promotionCodeGenerator;
 }
 public override void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator)
 {
     generator.GeneratePremierePromoCodeFor(visitor);
 }
 public override void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator)
 {
     generator.GeneratePremierePromoCodeFor(visitor);
 }
Exemple #5
0
 public override void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator)
 {
     generator.GenerateDiscountFor(visitor, Discount);
 }
 public override void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator)
 {
     generator.GenerateFreeEntryPromoCodeForVisitor(visitor, Movie);
 }
 public abstract void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator);
 public abstract void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator);
 public override void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator)
 {
     generator.GenerateDiscountFor(visitor, Discount);
 }
Exemple #10
0
 public void GrantBenefit(Visitor visitor, IVisitorHistoryRepository historyService, IPromotionCodeGenerator generator)
 {
     Require.IsTrue(IsActive, "Promotion is not active");
     if (ReceiveCondition.IsSatisfiedFor(visitor, historyService))
     {
         Benefit.ApplyFor(visitor, generator);
         DomainEventBus.Current.Raise(new PromotionGrantedForVisitor(Id, visitor.Id));
     }
 }
 public override void ApplyFor(Visitor visitor, IPromotionCodeGenerator generator)
 {
     generator.GenerateFreeEntryPromoCodeForVisitor(visitor, Movie);
 }