public RewardsAccount(IApplicationLogger logger, ISendsEmails emailer, string patron) { _logger = logger; _patron = patron; RewardsTier = new BasicTier(0, this, emailer); _state = new BasicTier(RewardsTier, emailer); }
public RewardsStateContext(RewardsTier mode) { TransitionTo(mode); }
public void TransitionTo(RewardsTier mode) { Console.WriteLine($"Context: Transitioning to {mode.GetType().Name}."); _mode = mode; _mode.SetContext(this); }