package lk.ac.pdn.ceit.tasks.ui; import lk.ac.pdn.ceit.tasks.TaskManager; import lk.ac.pdn.ceit.tasks.entities.Task; public class TextUI { private TaskManager taskManager; public void setTaskManager(TaskManager taskManager) { this.taskManager = taskManager; } public void start() { while(true) { String command = IO.readln("Command> "); switch (command.trim().toLowerCase()) { case "q": case "quit": IO.println("Thank you for using Task Tracker."); System.exit(0); case "createtask": createNewTask(); break; case "updatetask": updateTask(); break; default: IO.println("Command not found."); break; } } } private void createNewTask() { String title = IO.readln("Enter task title: "); String description = IO.readln("Enter task description: "); Task newTask = taskManager.createNewTask(title, description); IO.println("New task created: " + newTask); } private void updateTask() { // Ask the user to enter task id String taskId = IO.readln("Enter task ID: "); // Get the Task from TaskManager Task task = taskManager.findById(Integer.parseInt(taskId)); // Show the Task details to user IO.print(task); // Prompt the user to update Task properties String title = IO.readln("New title: "); if (! title.equals("")) { task.setTitle(title); } // ... // Use the TaskManager and update the task taskManager.updateTask(task); IO.println("Task updated."); } }