Example #1
0
        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);
        }
 public StoreNewMissle(MissleFactory missleFactory, IMissleLauncher missleLauncher)
 {
     ActionName     = "1. Add Missle";
     MissleFactory  = missleFactory;
     MissleLauncher = missleLauncher;
     MissleType     = default;
     validation     = new MissleStringValidation();
 }
 public MissleStringValidation()
 {
     MissleFactory = new MissleFactory();
 }