Пример #1
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));
     }
 }