public static ISweepstakesManager FactoryDecider() { ISweepstakesManager manager; string choice = UserInterface.GetManagerOption(); if (choice == "stack") { manager = new SweepstakesStackManager(); return manager; } else if (choice == "queue") { manager = new SweepstakesQueueManager(); return manager; } else { Console.WriteLine("Not a valid option."); return FactoryDecider(); } }
// Constructor public MarketingFirm(ISweepstakesManager manager) { this.manager = manager; // dependancy injection managerChoice = UserInterface.GetManagerOption(); // Grab GetManagerOption from UserInterface sweepName = UserInterface.GetSweepstakeName(); }