コード例 #1
0
        public static void Activate(ICalculatorComponent calculator, String userInput)
        {
            Collection collection = new Collection();

            foreach (Calculation _calculation in calculator.CalculationHistory)
            {
                collection.CalculationHistory.Add(_calculation);
            }

            Iterator.Iterator iterator = collection.CreateIterator();


            // | 1 | View Calculation History (Format: Entire List)
            while (userInput.Equals("1"))
            {
                Prompts.ShowHistory();
                iterator.ShowAll(calculator);
                Prompts.Back();
                String enter = Console.ReadLine();
                userInput = "pass";
            }

            // | 2 | View Calculation History (Format: One By One)
            while (userInput.Equals("2"))
            {
                String enter = "";

                Prompts.IteratorTitle();
                iterator.First(calculator);

                while (enter != "EXIT")
                {
                    Prompts.IteratorOptions();
                    enter = Console.ReadLine();

                    while (enter.Equals("NEXT"))
                    {
                        iterator.Next(calculator);
                        enter = "pass";
                    }

                    while (enter.Equals("PREVIOUS"))
                    {
                        iterator.Previous(calculator);
                        enter = "pass";
                    }

                    while (enter.Equals("FIRST"))
                    {
                        iterator.First(calculator);
                        enter = "pass";
                    }

                    while (enter.Equals("LAST"))
                    {
                        iterator.Last(calculator);
                        enter = "pass";
                    }

                    while (enter.Equals("CHANGE"))
                    {
                        Prompts.ShowEdit();
                        Receiver.DisplayOperations(calculator, "");
                        string operation = Console.ReadLine();

                        CalculationManipulation manipulator    = new CalculationManipulation();
                        Calculation             oldCalculation = iterator.CurrentCalculation(calculator);
                        manipulator.EditCalculation(operation, oldCalculation, calculator, iterator);

                        iterator.Current(calculator);
                        WriteToConsole.Write("");

                        Prompts.Changed();
                        string temp = Console.ReadLine();
                        enter = "EXIT";
                    }

                    while (enter.Equals("REMOVE"))
                    {
                        CalculationManipulation manipulator = new CalculationManipulation();
                        manipulator.RemoveCalculation(calculator, iterator.GetIndex());
                        enter = "pass";
                        Prompts.Removed();
                        string temp = Console.ReadLine();
                        enter = "EXIT";
                    }

                    while ((!enter.Equals("NEXT")) && (!enter.Equals("PREVIOUS")) && (!enter.Equals("FIRST")) && (!enter.Equals("LAST") && (!enter.Equals("CHANGE") && (!enter.Equals("REMOVE")) && (!enter.Equals("pass")) && (!enter.Equals("EXIT")))))
                    {
                        Prompts.Enter();
                        string temp = Console.ReadLine();
                        enter = "pass";
                    }
                }

                userInput = "pass";
            }

            // | 5 | Check State Of All Calculations
            while (userInput.Equals("5"))
            {
                Prompts.StateTitle();
                iterator.ShowState(calculator);
                Prompts.StateOptions();
                String enter = Console.ReadLine();
                userInput = "pass";
            }
        }