public MainMenu() { ///created the dictionery for action Dictionary <string, ITakeAction> ActionItems = new Dictionary <string, ITakeAction>(); IMissleLauncher missleLauncher = new MissleLauncher.MissleLauncher(); MissleFactory missleFactory = new MissleFactory(); IMissleLauncherComputer missleLauncherComputer = new MissleLauncherComputer.MissleLauncherComputer(missleLauncher); ///create option 1 - add missle ITakeAction addMissle = new StoreNewMissle(missleFactory, missleLauncher); ActionItems.Add("1", addMissle); /// creating option 2 - launch missles ITakeAction LaunchMissles = new LaunchMissles(missleLauncherComputer); ActionItems.Add("2", LaunchMissles); /// creating option 3 - get report ITakeAction reportAction = new InventoryReportAction(missleLauncher); ActionItems.Add("3", reportAction); /// creating option 4 - remove missle ITakeAction removeMissle = new RemoveMissle(missleLauncher); ActionItems.Add("4", removeMissle); /// creating option 5 - exit program ITakeAction exitProgram = new ExitProgram(); ActionItems.Add("5", exitProgram); ///creating list of validations List <IInputvalidation> inputvalidations = new List <IInputvalidation>() { new IntInputValidation(), new MainMenuValidation() }; Menu = new StringMenu(ActionItems, inputvalidations); }
static void Main(string[] args) { Dictionary <int, Option> numericOptions = new Dictionary <int, Option>() { { 1, new Option(Actions.PrintAssa, "Print Assa") }, { 2, new Option(Actions.PrintName, "Print a Name") }, { 3, new Option(Actions.PrintNumbers, "Print Your Numbers") } }; NumericMenu numMenu = new NumericMenu(numericOptions, "My test menu", "Please choose one of the following:", true); Dictionary <string, Option> stringOptions = new Dictionary <string, Option>() { { "Yuval", new Option(Actions.PrintYuval, "Print Yuval") }, { "Name", new Option(Actions.PrintName, "Print a Name") }, { "Numbers", new Option(Actions.PrintNumbers, "Print Your Numbers") }, { "NumMenu", new Option(numMenu.Run, "Show numeric menu") } }; StringMenu strMenu = new StringMenu(stringOptions, "My test menu", "Please choose one of the following:", true); strMenu.Run(); }