コード例 #1
0
        public static Task TaskSelector()
        {
            ConsoleMenu       taskMenu = new ConsoleMenu("Task Menu");
            ConsoleMenuOption taskOption;

            Task task = null;

            if (ListOfTasks.Count <= 0)
            {
                Console.WriteLine("No tasks found... returning to main menu.");
                Console.WriteLine(); //Pretty lines
                return(null);
            }

            //Add tasks to the menu
            for (int i = 0; i < ListOfTasks.Count; i++)
            {
                Task currentTask = ListOfTasks[i];

                taskOption = new ConsoleMenuOption(currentTask.Title, currentTask.Description, i.ToString() /*Selector*/, () => task = currentTask);
                taskMenu.Options.Add(taskOption);
            }

            ConsoleMenuOption selectedTaskFromTaskMenu = taskMenu.InputFromMenu(false);

            selectedTaskFromTaskMenu.Outcome.Invoke();
            return(task);
        }
コード例 #2
0
        public static void RemoveAllTask()
        {
            ListOfTasks.Clear();
            Console.WriteLine("All tasks have been removed.");

            ConsoleMenuOption definedOption = _mainMenu.InputFromMenu(false);

            definedOption.Outcome.Invoke();
        }
コード例 #3
0
        public static void ListAllTasks()
        {
            for (int i = 0; i < ListOfTasks.Count; i++)
            {
                Task   task     = ListOfTasks[i];
                string taskInfo = task.DisplayInfo();
                Console.WriteLine(taskInfo);
            }

            ConsoleMenuOption definedOption = _mainMenu.InputFromMenu(false);

            definedOption.Outcome.Invoke();
        }
コード例 #4
0
        //<Task1, Task2, Task3>

        public static void RemoveTask()
        {
            Task selectedTask = TaskSelector();

            if (selectedTask != null)
            {
                ListOfTasks.Remove(selectedTask);
            }

            ConsoleMenuOption definedOption = _mainMenu.InputFromMenu(false);

            definedOption.Outcome.Invoke();
        }
コード例 #5
0
        public static void EditTask()
        {
            Task selectedTask = TaskSelector();

            if (selectedTask != null)
            {
                (string title, string timeDuration, string priority, string description)taskTuple = TaskInput();

                selectedTask.Title        = taskTuple.title;
                selectedTask.TimeDuration = int.Parse(taskTuple.timeDuration);
                selectedTask.Priority     = int.Parse(taskTuple.priority);
                selectedTask.Description  = taskTuple.description;
            }

            ConsoleMenuOption definedOption = _mainMenu.InputFromMenu(false);

            definedOption.Outcome.Invoke();
        }
コード例 #6
0
        //Properties
        /*Non in this program*/

        //Contructors
        static Program()
        {
            _mainMenu       = new ConsoleMenu("Main Menu");
            _selectedOption = new ConsoleMenuOption();
            _taskList       = new TaskList("List of tasks");

            ConsoleMenuOption[] _baseOptions
                =
                {
                new ConsoleMenuOption("Add Task",          "NN" /*Not Needed*/, "1", AddTask),
                new ConsoleMenuOption("Edit Task",         "NN" /*Not Needed*/, "2", EditTask),
                new ConsoleMenuOption("Remove Task",       "NN" /*Not Needed*/, "3", RemoveTasks),
                new ConsoleMenuOption("Remove All Tasks",  "NN" /*Not Needed*/, "4", RemoveAllTasks),
                new ConsoleMenuOption("Display All Tasks", "NN" /*Not Needed*/, "5", DisplayTasks),
                new ConsoleMenuOption("Exit",              "Exits program",     "0", () => Environment.Exit(0))
                };

            _mainMenu.Options.AddRange(_baseOptions);
        }
コード例 #7
0
        private Task TaskSelector()
        {
            ConsoleMenu       taskMenu = new ConsoleMenu("Task Menu");
            ConsoleMenuOption taskOption;

            Task task = null;

            //Add tasks to the menu
            for (int i = 0; i < this.Tasks.Count; i++)
            {
                Task currentTask = this.Tasks[i];

                taskOption = new ConsoleMenuOption(currentTask.Title, null, i.ToString() /*Selector*/, () => task = currentTask);
                taskMenu.Options.Add(taskOption);
            }

            ConsoleMenuOption selectedTaskFromTaskMenu = taskMenu.InputFromMenu(false);

            selectedTaskFromTaskMenu.Outcome.Invoke();
            return(task);
        }
コード例 #8
0
        public static void AddTask()
        {
            Task task;

            (string title, string timeDuration, string priority, string description) = TaskInput();

            if (description == null)
            {
                task = new Task(title, int.Parse(timeDuration), int.Parse(priority));
            }
            else
            {
                task = new Task(title, int.Parse(timeDuration), int.Parse(priority), description);
            }
            ListOfTasks.Add(task);

            //Go back to menu
            ConsoleMenuOption definedOption = _mainMenu.InputFromMenu(false);

            definedOption.Outcome.Invoke();
        }
コード例 #9
0
        static void Main(string[] args)
        {
            #region ConsoleMenuOptionCreation
            ConsoleMenuOption[] actionOptions
                =
                {
                new ConsoleMenuOption("Add Defined Task",           "Invokes method AddTask",               "1", AddTask),
                new ConsoleMenuOption("Edit Selected Task",         "Invokes to method EditTask",           "2", EditTask),
                new ConsoleMenuOption("Remove Selected Task",       "Invokes to method RemoveTask",         "3", RemoveTask),
                new ConsoleMenuOption("Remove All Tasks From List", "Invokes to method RemoveAllTask",      "4", RemoveAllTask),
                new ConsoleMenuOption("List All Tasks",             "Invokes to method listAllTaskOptions", "5", ListAllTasks),
                new ConsoleMenuOption("Exit Program",               "Exits program",                        "6", () => Environment.Exit(0))
                };
            #endregion

            _mainMenu.Options.AddRange(actionOptions);

            ConsoleMenuOption selectedOption = _mainMenu.InputFromMenu(false);
            Console.WriteLine(); //Makes Things Pretty
            Console.WriteLine(selectedOption.Title);
            selectedOption.Outcome.Invoke();
        }
コード例 #10
0
 static void ReturnToMenu()
 {
     Console.WriteLine(); //Makes things pretty
     _selectedOption = _mainMenu.InputFromMenu(false);
     _selectedOption.Outcome.Invoke();
 }
コード例 #11
0
 //Methods
 static void Main(string[] args)
 {
     _selectedOption = _mainMenu.InputFromMenu(false);
     _selectedOption.Outcome.Invoke();
 }
コード例 #12
0
        public void ValidateInput(ConsoleMenuOption selectedOption)
        {
            bool errorDedected = true; //Used so GetInput() isn't invoked twice in ValidateInput()

            timesThroughLoop = 0;

            while (errorDedected)
            {
                if (errorDedected && timesThroughLoop > 0)
                {
                    Console.WriteLine("Previous input was not valid, please try again.");
                    Console.WriteLine(); //Makes things look pretty
                }

                //Gets input
                Console.WriteLine("Enter the first number: ");
                firstInput = Console.ReadLine();
                Console.WriteLine("Enter the second number: ");
                secondInput = Console.ReadLine();

                //Validates input and Invoked method from Methods above.
                switch (selectedOption.Selector)
                {
                case "1":
                    if (int.TryParse(firstInput, out firstValidInput) && int.TryParse(secondInput, out secondValidInput))
                    {
                        Add();
                        errorDedected = false;
                    }
                    break;

                case "2":
                    if (decimal.TryParse(firstInput, out firstDecValidInput) && decimal.TryParse(secondInput, out secondDecValidInput))
                    {
                        Divide();
                        errorDedected = false;
                    }
                    break;

                case "3":
                    if (int.TryParse(firstInput, out firstValidInput) && int.TryParse(secondInput, out secondValidInput))
                    {
                        Multiply();
                        errorDedected = false;
                    }
                    break;

                case "4":
                    if (int.TryParse(firstInput, out firstValidInput) && int.TryParse(secondInput, out secondValidInput))
                    {
                        Minus();
                        errorDedected = false;
                    }
                    break;

                default:
                    errorDedected = true;
                    break;
                }
                timesThroughLoop++;
            }
        }
コード例 #13
0
 static void OperateConsoleMenu()
 {
     _selectedOption = _mainMenu.InputFromMenu(false);
     _selectedOption.Outcome.Invoke();
 }
コード例 #14
0
 public void AddExitOption(ConsoleMenuOption option)
 {
     AddOption(new ConsoleMenuOption(option.OptionCode, option.OptionDescription, () => infinity = false));
 }
コード例 #15
0
 public void AddOption(ConsoleMenuOption option)
 {
     options.Add(option.OptionCode, option);
 }