public ProductSubscription(int id, string customerEmailAddress, DateTime expirationDateTime)
 {
     Id = id;
     CustomerEmailAddress = customerEmailAddress;
     ExpirationDateTime   = expirationDateTime;
     Status = ProductSubscriptionStatus.ActivationPending;
 }
        public void Cancel()
        {
            if (Status == ProductSubscriptionStatus.Cancelled)
            {
                throw new ProductSubscriptionWasAlreadyCancelledException();
            }

            Status = ProductSubscriptionStatus.Cancelled;

            Cancelled?.Invoke(this, new ProductSubscriptionCancelledEventArgs());
        }