public void AddSubscription(Product product, ISubscriptionAmountCalculator subscriptionAmountCalculator) { var subscriptionAmount = subscriptionAmountCalculator.Calculate(product, this); var subscription = new Subscription(this, product, subscriptionAmount); _subscriptions.Add(subscription); MoneySpent += subscription.Amount; AddDomainEvent(new CustomerSubscribedToProduct { CustomerId = Id, ProductId = product.Id }); }
public SubscribeRequestHandler(SubscriptionContext subscriptionContext, ISubscriptionAmountCalculator subscriptionAmountCalculator) { _subscriptionContext = subscriptionContext; _subscriptionAmountCalculator = subscriptionAmountCalculator; }