From 6c339429611d35d76605be899214cc63c6a45311 Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Thu, 28 Sep 2023 23:56:12 +0300 Subject: [PATCH 1/8] added file variables --- src/variables.dart | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/variables.dart diff --git a/src/variables.dart b/src/variables.dart new file mode 100644 index 0000000..99ac41c --- /dev/null +++ b/src/variables.dart @@ -0,0 +1,12 @@ +void main() { + int age = 19; + String name = 'Zahra'; + bool isStudent = true; + List hobbies = ['coding', 'sport', 'drawing', 'writing']; + + //print variables + print('Age: $age'); + print('Name: $name'); + print('IsStudent: $isStudent'); + print('Hobbies: $hobbies'); +} From c28202ac813afae3649957f2a087f09c16b87714 Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Fri, 29 Sep 2023 00:02:29 +0300 Subject: [PATCH 2/8] added Error Handling --- src/variables.dart | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/variables.dart b/src/variables.dart index 99ac41c..5e04426 100644 --- a/src/variables.dart +++ b/src/variables.dart @@ -10,3 +10,12 @@ void main() { print('IsStudent: $isStudent'); print('Hobbies: $hobbies'); } + +void main2() { + try { + int result = 10 ~/ 0; //triggering error + print("Result: $result"); + } catch (e) { + print('An error ocurred: $e'); + } +} From da10dd958949cc708306afb9032293152bb34fe7 Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Fri, 29 Sep 2023 12:25:29 +0300 Subject: [PATCH 3/8] added task file --- src/task.dart | 8 ++++++++ src/variables.dart | 17 ++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/task.dart diff --git a/src/task.dart b/src/task.dart new file mode 100644 index 0000000..e33472c --- /dev/null +++ b/src/task.dart @@ -0,0 +1,8 @@ +class Task { + int id; + String title; + String description; + bool isCompleted; + + Task(this.id, this.title, this.description, this.isCompleted); +} diff --git a/src/variables.dart b/src/variables.dart index 5e04426..b3c67d9 100644 --- a/src/variables.dart +++ b/src/variables.dart @@ -1,17 +1,28 @@ -void main() { +/* void main() { int age = 19; String name = 'Zahra'; bool isStudent = true; - List hobbies = ['coding', 'sport', 'drawing', 'writing']; + List hobbies = ['coding', 'sport', 'drawing', 'writing', 'reading', 'cooking']; //print variables print('Age: $age'); print('Name: $name'); print('IsStudent: $isStudent'); print('Hobbies: $hobbies'); +}*/ + +import 'task.dart'; + +void main() { + Task task1 = Task(1, 'Buy groceries', 'Buy milk, eggs, and bread', false); + Task task2 = Task(2, 'Read a book', 'Read "The Catcher in the Rye"', true); + + //print task properties + print('Task 1: ${task1.title}, Completed: ${task1.isCompleted}'); + print('task 2: ${task2.title}, Completed: ${task2.isCompleted}'); } -void main2() { +void Main() { try { int result = 10 ~/ 0; //triggering error print("Result: $result"); From a7ccb2b357fdd85de22cf840dc9349aa065dfc5f Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Sat, 30 Sep 2023 10:46:53 +0300 Subject: [PATCH 4/8] modified --- src/.vscode/launch.json | 13 +++++++ src/task.dart | 8 ----- src/variables.dart | 75 ++++++++++++++++++++++++++++------------- 3 files changed, 64 insertions(+), 32 deletions(-) create mode 100644 src/.vscode/launch.json delete mode 100644 src/task.dart diff --git a/src/.vscode/launch.json b/src/.vscode/launch.json new file mode 100644 index 0000000..e1761a8 --- /dev/null +++ b/src/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Dart & Flutter", + "request": "launch", + "type": "dart" + } + ] +} diff --git a/src/task.dart b/src/task.dart deleted file mode 100644 index e33472c..0000000 --- a/src/task.dart +++ /dev/null @@ -1,8 +0,0 @@ -class Task { - int id; - String title; - String description; - bool isCompleted; - - Task(this.id, this.title, this.description, this.isCompleted); -} diff --git a/src/variables.dart b/src/variables.dart index b3c67d9..9e3d4d7 100644 --- a/src/variables.dart +++ b/src/variables.dart @@ -1,32 +1,59 @@ -/* void main() { - int age = 19; - String name = 'Zahra'; - bool isStudent = true; - List hobbies = ['coding', 'sport', 'drawing', 'writing', 'reading', 'cooking']; +import 'dart:io'; - //print variables - print('Age: $age'); - print('Name: $name'); - print('IsStudent: $isStudent'); - print('Hobbies: $hobbies'); -}*/ +void main() { + stdout.write("What is your task name:"); + String title = stdin.readLineSync() ?? "None"; + stdout.write("Task Desccription:"); + String description = stdin.readLineSync() ?? "None"; -import 'task.dart'; + TaskList Person1Task = TaskList( + id: 1, title: title, description: description, isCompleted: false); -void main() { - Task task1 = Task(1, 'Buy groceries', 'Buy milk, eggs, and bread', false); - Task task2 = Task(2, 'Read a book', 'Read "The Catcher in the Rye"', true); + print("Task Added Successfully"); + print(Person1Task.toString()); + + bool inputValid = false; + int choice = 0; + while (!inputValid) { + try { + print("Enter 1 to display all tasks"); + stdout.write("Enter a number: "); + choice = int.parse(stdin.readLineSync() ?? "None"); + switch (choice) { + case 1: + inputValid = true; + break; + default: + print("invalid input"); + break; + } + inputValid = true; + } catch (e) { + print("Invalid input"); + continue; + } + } - //print task properties - print('Task 1: ${task1.title}, Completed: ${task1.isCompleted}'); - print('task 2: ${task2.title}, Completed: ${task2.isCompleted}'); + if (choice == 1) { + print("All tasks"); + print(Person1Task.toString()); + } } -void Main() { - try { - int result = 10 ~/ 0; //triggering error - print("Result: $result"); - } catch (e) { - print('An error ocurred: $e'); +class TaskList { + int id; + String title; + String description; + bool isCompleted; + + TaskList( + {required this.id, + required this.title, + required this.description, + required this.isCompleted}); + + @override + String toString() { + return "Task ID: $id\n----------------\n Task Title: $title\n Task Description: $description\n Task Status: ${isCompleted ? "true" : "false"}\n--------"; } } From 6526dfb242ee4259e3880011cc7ef0128c3436c4 Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Wed, 4 Oct 2023 19:16:54 +0300 Subject: [PATCH 5/8] uncomplete mess --- src/taskList.dart | 15 ++++++++ src/tasks.dart | 29 +++++++++++++++ src/variables.dart | 90 +++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 126 insertions(+), 8 deletions(-) create mode 100644 src/taskList.dart create mode 100644 src/tasks.dart diff --git a/src/taskList.dart b/src/taskList.dart new file mode 100644 index 0000000..32d7e3a --- /dev/null +++ b/src/taskList.dart @@ -0,0 +1,15 @@ +import 'tasks.dart'; + +class TaskList { + List tasks = []; + + bool addTask(String title, String description) { + tasks.add(Task( + id: 1, Title: title, Description: description, isCompleted: false)); + tasks.add( + Task(id: 2, Title: title, Description: description, isCompleted: true)); + return true; + } + + void add(Task task) {} +} diff --git a/src/tasks.dart b/src/tasks.dart new file mode 100644 index 0000000..715757e --- /dev/null +++ b/src/tasks.dart @@ -0,0 +1,29 @@ +class Task { + final int id; + String Title; + String get title { + return Title; + } + + set title(String title) { + Title = title; + } + + String Description; + String get description { + return description; + } + + set description(String description) { + Description = description; + } + + bool isCompleted; + Task( + {required this.id, + required this.Title, + required this.Description, + required this.isCompleted}); + + //constructors +} diff --git a/src/variables.dart b/src/variables.dart index 9e3d4d7..f1ef879 100644 --- a/src/variables.dart +++ b/src/variables.dart @@ -1,16 +1,21 @@ -import 'dart:io'; +/*import 'dart:io'; -void main() { +void main(TaskListarg) { stdout.write("What is your task name:"); String title = stdin.readLineSync() ?? "None"; stdout.write("Task Desccription:"); String description = stdin.readLineSync() ?? "None"; - - TaskList Person1Task = TaskList( + stdout.write("Do you want to remove an item?"); + String answer = stdin.readLineSync() ?? "None"; + TaskList Task1 = TaskList( id: 1, title: title, description: description, isCompleted: false); + String a = "y"; + if (answer == a) { + bool delete = TaskList.remove({description}); + } print("Task Added Successfully"); - print(Person1Task.toString()); + print(Task1.toString()); bool inputValid = false; int choice = 0; @@ -36,16 +41,31 @@ void main() { if (choice == 1) { print("All tasks"); - print(Person1Task.toString()); + print(Task1.toString()); } } class TaskList { - int id; + final int id; String title; String description; bool isCompleted; +//add tasks + String get Title => title; + set Title(String value) { + if (value.isNotEmpty) { + title = value; + } + } + + String get Description => description; + set Description(String value2) { + if (value2.isNotEmpty) { + description = value2; + } + } + TaskList( {required this.id, required this.title, @@ -54,6 +74,60 @@ class TaskList { @override String toString() { - return "Task ID: $id\n----------------\n Task Title: $title\n Task Description: $description\n Task Status: ${isCompleted ? "true" : "false"}\n--------"; + return "Task ID: $id\n Task Title: $title\n Task Description: $description\n Task Status: ${isCompleted ? "Done" : "Not Done"}"; + } +} +*/ + +import 'dart:io'; +import 'tasks.dart'; +import 'taskList.dart'; + +void main(List args) { + TaskList taskList = TaskList(); + taskList.addTask('', ''); + taskList.addTask('', ''); + + //stdout.write("Task Number:"); + //int id = int.parse(stdin.readLineSync()!); + stdout.write("Task Title:"); + String? Title = stdin.readLineSync(); + stdout.write("Task Description:"); + String? Description = stdin.readLineSync(); + // stdout.write("Task Status:"); + //bool? isComplete = bool.tryParse(stdin.readLineSync()!); + + bool inputValid = false; + int choice = 0; + while (!inputValid) { + try { + print("Enter the task's number to display it:"); + stdout.write("Task number: "); + int? choice = int.parse(stdin.readLineSync() ?? "None"); + switch (choice) { + case 1: + inputValid = true; + break; + default: + print("invalid input"); + break; + } + inputValid = true; + } catch (e) { + print("Invalid input"); + continue; + } + } + + if (choice == 1) { + print("All tasks"); + print(Task.toString()); + } + + @override + String toString() { + var id; + var isCompleted; + return "Task ID: $id\n Task Title: $Title\n Task Description: $Description\n Task Status: ${isCompleted ? "Done" : "Not Done"}"; } } From 393d28560e0ce43839aaeacd6de7a17db1f2d2f6 Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Thu, 5 Oct 2023 20:59:11 +0300 Subject: [PATCH 6/8] no_output --- src/main.dart | 8 --- src/taskList.dart | 101 ++++++++++++++++++++++++++++++---- src/tasks.dart | 29 ---------- src/variables.dart | 133 --------------------------------------------- 4 files changed, 91 insertions(+), 180 deletions(-) delete mode 100644 src/main.dart delete mode 100644 src/tasks.dart delete mode 100644 src/variables.dart diff --git a/src/main.dart b/src/main.dart deleted file mode 100644 index deeaf98..0000000 --- a/src/main.dart +++ /dev/null @@ -1,8 +0,0 @@ -// TODO: Run task list app -void main(List args) { - print('Hello World'); -} - -class TaskListApp { - // TODO: Implement Task list app -} diff --git a/src/taskList.dart b/src/taskList.dart index 32d7e3a..369c5b5 100644 --- a/src/taskList.dart +++ b/src/taskList.dart @@ -1,15 +1,96 @@ -import 'tasks.dart'; +//import 'tasks.dart'; +//import 'main.dart'; +import 'dart:io'; -class TaskList { - List tasks = []; +void main(List args) { + Task _tasks = Task(id: 0, Title: "", Description: "", isCompleted: false); + _tasks.addTask('Title', 'Description'); +} + +class Task { + int id; + String Title; + + String get title { + return Title; + } + + set title(String title) { + Title = title; + } + + String Description; + String get description { + return description; + } - bool addTask(String title, String description) { - tasks.add(Task( - id: 1, Title: title, Description: description, isCompleted: false)); - tasks.add( - Task(id: 2, Title: title, Description: description, isCompleted: true)); - return true; + set description(String description) { + Description = description; } - void add(Task task) {} + bool isCompleted; + Task( + {required this.id, + required this.Title, + required this.Description, + required this.isCompleted}); + + List _tasks = []; + List get tasks => _tasks; + bool addTask(String Title, String Description) { + if (Title.isEmpty) { + return false; + } + if (Description.isEmpty) ; + return false; + } + + void AddTask(Task task) { + _tasks.add(task); + void addTitle() { + //add title + do { + stdout.write("Task Title:"); + String? title = stdin.readLineSync(); + } while (task.Title == " "); + addTitle(); + } + + //add description + void addDescription() { + do { + stdout.write("Task Description:"); + String? Description = stdin.readLineSync(); + } while (task.Description == " "); + addDescription(); + } + +//remove task + void remove() { + try { + stdout.write("If you want to remove a task enter its number:"); + int TaskId = int.parse(stdin.readLineSync()!); + //_tasks.remove(_tasks[TaskId]); + _tasks.remove((task) => task.id == TaskId); + print("Successfuly removed"); + } catch (e) { + print("Invalid ID"); + remove(); + } + } + + /*void displayList() { + for (int i = 0; i < _tasks.length; i++) { + Task task = _tasks[i]; + _tasks.add(task); + print(_tasks); + displayList(); + } + }*/ + + @override + String toString() { + return "Task number: $id\n Task Title: $Title\n Task description: $Description\n Task status: $isCompleted"; + } + } } diff --git a/src/tasks.dart b/src/tasks.dart deleted file mode 100644 index 715757e..0000000 --- a/src/tasks.dart +++ /dev/null @@ -1,29 +0,0 @@ -class Task { - final int id; - String Title; - String get title { - return Title; - } - - set title(String title) { - Title = title; - } - - String Description; - String get description { - return description; - } - - set description(String description) { - Description = description; - } - - bool isCompleted; - Task( - {required this.id, - required this.Title, - required this.Description, - required this.isCompleted}); - - //constructors -} diff --git a/src/variables.dart b/src/variables.dart deleted file mode 100644 index f1ef879..0000000 --- a/src/variables.dart +++ /dev/null @@ -1,133 +0,0 @@ -/*import 'dart:io'; - -void main(TaskListarg) { - stdout.write("What is your task name:"); - String title = stdin.readLineSync() ?? "None"; - stdout.write("Task Desccription:"); - String description = stdin.readLineSync() ?? "None"; - stdout.write("Do you want to remove an item?"); - String answer = stdin.readLineSync() ?? "None"; - TaskList Task1 = TaskList( - id: 1, title: title, description: description, isCompleted: false); - - String a = "y"; - if (answer == a) { - bool delete = TaskList.remove({description}); - } - print("Task Added Successfully"); - print(Task1.toString()); - - bool inputValid = false; - int choice = 0; - while (!inputValid) { - try { - print("Enter 1 to display all tasks"); - stdout.write("Enter a number: "); - choice = int.parse(stdin.readLineSync() ?? "None"); - switch (choice) { - case 1: - inputValid = true; - break; - default: - print("invalid input"); - break; - } - inputValid = true; - } catch (e) { - print("Invalid input"); - continue; - } - } - - if (choice == 1) { - print("All tasks"); - print(Task1.toString()); - } -} - -class TaskList { - final int id; - String title; - String description; - bool isCompleted; - -//add tasks - String get Title => title; - set Title(String value) { - if (value.isNotEmpty) { - title = value; - } - } - - String get Description => description; - set Description(String value2) { - if (value2.isNotEmpty) { - description = value2; - } - } - - TaskList( - {required this.id, - required this.title, - required this.description, - required this.isCompleted}); - - @override - String toString() { - return "Task ID: $id\n Task Title: $title\n Task Description: $description\n Task Status: ${isCompleted ? "Done" : "Not Done"}"; - } -} -*/ - -import 'dart:io'; -import 'tasks.dart'; -import 'taskList.dart'; - -void main(List args) { - TaskList taskList = TaskList(); - taskList.addTask('', ''); - taskList.addTask('', ''); - - //stdout.write("Task Number:"); - //int id = int.parse(stdin.readLineSync()!); - stdout.write("Task Title:"); - String? Title = stdin.readLineSync(); - stdout.write("Task Description:"); - String? Description = stdin.readLineSync(); - // stdout.write("Task Status:"); - //bool? isComplete = bool.tryParse(stdin.readLineSync()!); - - bool inputValid = false; - int choice = 0; - while (!inputValid) { - try { - print("Enter the task's number to display it:"); - stdout.write("Task number: "); - int? choice = int.parse(stdin.readLineSync() ?? "None"); - switch (choice) { - case 1: - inputValid = true; - break; - default: - print("invalid input"); - break; - } - inputValid = true; - } catch (e) { - print("Invalid input"); - continue; - } - } - - if (choice == 1) { - print("All tasks"); - print(Task.toString()); - } - - @override - String toString() { - var id; - var isCompleted; - return "Task ID: $id\n Task Title: $Title\n Task Description: $Description\n Task Status: ${isCompleted ? "Done" : "Not Done"}"; - } -} From 6d85972d3e6d137134bc463a460e6730f5634ddc Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Sun, 8 Oct 2023 11:21:47 +0300 Subject: [PATCH 7/8] Almost Done --- src/main.dart | 143 ++++++++++++++++++++++++++++++++++++++++++++++ src/task.dart | 28 +++++++++ src/taskList.dart | 109 ++++++++--------------------------- 3 files changed, 196 insertions(+), 84 deletions(-) create mode 100644 src/main.dart create mode 100644 src/task.dart diff --git a/src/main.dart b/src/main.dart new file mode 100644 index 0000000..1919356 --- /dev/null +++ b/src/main.dart @@ -0,0 +1,143 @@ +import 'dart:io'; +import 'task.dart'; +import 'taskList.dart'; + +//you can make it global so you can access it from anywhere +List _tasks = []; +TaskList tasks = TaskList([]); +void main(List arg) { +//Listing Choices + void showTasks() { + print("This is your Task List app"); + print("**************************"); + print("What Do You Need?"); + print("1.Add Task"); + print("2.List Task"); + print("3.Update A Task"); + print("4.Delete A Task"); + print("5.Exit"); + } + +//Making Choice + int choice = 0; + while (choice != 5) { + showTasks(); + bool validChoice = false; + while (!validChoice) { + try { + stdout.write("Your Choice?"); + choice = int.parse(stdin.readLineSync()!); + validChoice = true; + } catch (e) { + print("Enter A Number:"); + } + } +//Operating Choice + switch (choice) { + case 1: + addTask(); + break; + case 2: + printTasks(); + break; + case 3: + choose(); + break; + case 4: + remove(); + default: + print("Invalid Choice"); + break; + } + } +} + +//Choose Between Title && Description Update + +void choose() { + int choice = 0; + /* while (choice <= 1) { + bool validChoice = false; + while (!validChoice) {*/ + try { + stdout.write("To Change Title:1 / To Change Description:2 \n Your Choice?"); + choice = int.parse(stdin.readLineSync()!); + //validChoice = true; + } catch (e) { + print("Enter A Number:"); + } + switch (choice) { + case 1: + updateTitle(_tasks); + break; + case 2: + updateDescription(_tasks); + break; + default: + print("Invalid Choice"); + break; + } +} + +//Adding A Task +void addTask() { + stdout.write("Choose A Title For Your Task:"); + String? title = stdin.readLineSync() ?? ""; + if (title == "") { + print("You Should Enter A Title:"); + return; + } + stdout.write("Choose A Description For Your Task:"); + String? description = stdin.readLineSync() ?? ""; + if (description == "") { + print("You Should Enter A Description"); + return; + } + tasks.addTask(title, description); +} + +//Viewing Tasks +void printTasks() { + print(tasks.toString()); +} + +//For Title Update +void updateTitle(_tasks) { + stdout.write("What Task To Update?"); + int taskID = int.parse(stdin.readLineSync()!); + if (taskID <= _tasks.length && taskID > 0) { + stdout.write("Enter Your New Title:"); + String? Title = stdin.readLineSync(); + _tasks[taskID].title = Title; + print("Updated Successfuly"); + print("New Title:" '${tasks[taskID].title}'); + return; + } +} + +//For Description Update +void updateDescription(_tasks) { + stdout.write("What Task To Update?"); + int taskID = int.parse(stdin.readLineSync()!); + if (taskID <= _tasks.length && taskID > 0) { + stdout.write("Enter Your New Title:"); + String? Title = stdin.readLineSync(); + _tasks[taskID].title = Title; + print("Updated Successfuly"); + print("New Title:" '${tasks[taskID].title}'); + return; + } +} + +//Delete Task +void remove() { + try { + stdout.write("If you want to remove a task enter its number:"); + int taskId = int.parse(stdin.readLineSync()!); + _tasks.removeWhere((tasks) => tasks.id == taskId); + print("Successfuly removed"); + } catch (e) { + print("Invalid ID"); + remove(); + } +} diff --git a/src/task.dart b/src/task.dart new file mode 100644 index 0000000..5341994 --- /dev/null +++ b/src/task.dart @@ -0,0 +1,28 @@ +class Task { + int id; + String title; + String description; + bool isCompleted; + + void set Title(String title) { + this.title = title; + } + + String get Title { + return title; + } + + void set _description(String Description) { + this.description = Description; + } + + String get _description { + return description; + } + + Task( + {this.id = 0, + required this.title, + required this.description, + this.isCompleted = false}); +} diff --git a/src/taskList.dart b/src/taskList.dart index 369c5b5..a79a6e6 100644 --- a/src/taskList.dart +++ b/src/taskList.dart @@ -1,96 +1,37 @@ -//import 'tasks.dart'; -//import 'main.dart'; -import 'dart:io'; +import 'task.dart'; +import 'main.dart'; -void main(List args) { - Task _tasks = Task(id: 0, Title: "", Description: "", isCompleted: false); - _tasks.addTask('Title', 'Description'); -} - -class Task { - int id; - String Title; - - String get title { - return Title; - } - - set title(String title) { - Title = title; +class TaskList { + List _tasks = []; + TaskList(this._tasks); + Task operator [](int taskID) { + return _tasks[taskID]; } - String Description; - String get description { - return description; + int get length { + return _tasks.length; } + //List get tasks => _tasks; - set description(String description) { - Description = description; + void addTask(String title, String description) { + _tasks.add(Task(id: _tasks.length, title: title, description: description)); } - bool isCompleted; - Task( - {required this.id, - required this.Title, - required this.Description, - required this.isCompleted}); - - List _tasks = []; - List get tasks => _tasks; - bool addTask(String Title, String Description) { - if (Title.isEmpty) { - return false; + @override + String toString() { + String show = ""; + for (var task in _tasks) { + show += "`````````````````````````````\n"; + show += "Task ID:${task.id}\n"; + show += "Task Title:${task.title}\n"; + show += "Task Description:${task.description}\n"; + show += "Task Status:${task.isCompleted ? "Done" : "Not Done"}\n"; + show += "`````````````````````````````\n"; } - if (Description.isEmpty) ; - return false; + return show; } - void AddTask(Task task) { - _tasks.add(task); - void addTitle() { - //add title - do { - stdout.write("Task Title:"); - String? title = stdin.readLineSync(); - } while (task.Title == " "); - addTitle(); - } - - //add description - void addDescription() { - do { - stdout.write("Task Description:"); - String? Description = stdin.readLineSync(); - } while (task.Description == " "); - addDescription(); - } - -//remove task - void remove() { - try { - stdout.write("If you want to remove a task enter its number:"); - int TaskId = int.parse(stdin.readLineSync()!); - //_tasks.remove(_tasks[TaskId]); - _tasks.remove((task) => task.id == TaskId); - print("Successfuly removed"); - } catch (e) { - print("Invalid ID"); - remove(); - } - } - - /*void displayList() { - for (int i = 0; i < _tasks.length; i++) { - Task task = _tasks[i]; - _tasks.add(task); - print(_tasks); - displayList(); - } - }*/ - - @override - String toString() { - return "Task number: $id\n Task Title: $Title\n Task description: $Description\n Task status: $isCompleted"; - } + void removeWhere(bool Function(Task) param0) { + // tasks.removeWhere((task) => task.id == taskId); } } From 6e6bfa9ca639276cbd47ab1f3ab2490a4f8ecdcc Mon Sep 17 00:00:00 2001 From: "Zahra-H.N" Date: Mon, 9 Oct 2023 11:29:26 +0300 Subject: [PATCH 8/8] Task Done --- src/main.dart | 34 ++++++++++------------------------ src/task.dart | 16 ++++++++++++---- src/taskList.dart | 14 +++++++++++--- 3 files changed, 33 insertions(+), 31 deletions(-) diff --git a/src/main.dart b/src/main.dart index 1919356..abda782 100644 --- a/src/main.dart +++ b/src/main.dart @@ -5,6 +5,7 @@ import 'taskList.dart'; //you can make it global so you can access it from anywhere List _tasks = []; TaskList tasks = TaskList([]); + void main(List arg) { //Listing Choices void showTasks() { @@ -44,7 +45,8 @@ void main(List arg) { choose(); break; case 4: - remove(); + tasks.remove(); + break; default: print("Invalid Choice"); break; @@ -56,9 +58,6 @@ void main(List arg) { void choose() { int choice = 0; - /* while (choice <= 1) { - bool validChoice = false; - while (!validChoice) {*/ try { stdout.write("To Change Title:1 / To Change Description:2 \n Your Choice?"); choice = int.parse(stdin.readLineSync()!); @@ -105,10 +104,10 @@ void printTasks() { void updateTitle(_tasks) { stdout.write("What Task To Update?"); int taskID = int.parse(stdin.readLineSync()!); - if (taskID <= _tasks.length && taskID > 0) { + if (taskID <= tasks.length && taskID > 0) { stdout.write("Enter Your New Title:"); String? Title = stdin.readLineSync(); - _tasks[taskID].title = Title; + tasks[taskID].title = Title!; print("Updated Successfuly"); print("New Title:" '${tasks[taskID].title}'); return; @@ -119,25 +118,12 @@ void updateTitle(_tasks) { void updateDescription(_tasks) { stdout.write("What Task To Update?"); int taskID = int.parse(stdin.readLineSync()!); - if (taskID <= _tasks.length && taskID > 0) { - stdout.write("Enter Your New Title:"); - String? Title = stdin.readLineSync(); - _tasks[taskID].title = Title; + if (taskID <= tasks.length && taskID > 0) { + stdout.write("Enter Your New Description:"); + String? Description = stdin.readLineSync(); + tasks[taskID].description = Description!; print("Updated Successfuly"); - print("New Title:" '${tasks[taskID].title}'); + print("New Description:" '${tasks[taskID].description}'); return; } } - -//Delete Task -void remove() { - try { - stdout.write("If you want to remove a task enter its number:"); - int taskId = int.parse(stdin.readLineSync()!); - _tasks.removeWhere((tasks) => tasks.id == taskId); - print("Successfuly removed"); - } catch (e) { - print("Invalid ID"); - remove(); - } -} diff --git a/src/task.dart b/src/task.dart index 5341994..3188a21 100644 --- a/src/task.dart +++ b/src/task.dart @@ -4,6 +4,14 @@ class Task { String description; bool isCompleted; + void set Id(int id) { + this.id = id; + } + + int get Id { + return id; + } + void set Title(String title) { this.title = title; } @@ -12,16 +20,16 @@ class Task { return title; } - void set _description(String Description) { - this.description = Description; + void set Description(String description) { + this.description = description; } - String get _description { + String get Description { return description; } Task( - {this.id = 0, + {this.id = 1, required this.title, required this.description, this.isCompleted = false}); diff --git a/src/taskList.dart b/src/taskList.dart index a79a6e6..9964da4 100644 --- a/src/taskList.dart +++ b/src/taskList.dart @@ -1,5 +1,5 @@ import 'task.dart'; -import 'main.dart'; +import 'dart:io'; class TaskList { List _tasks = []; @@ -31,7 +31,15 @@ class TaskList { return show; } - void removeWhere(bool Function(Task) param0) { - // tasks.removeWhere((task) => task.id == taskId); + void remove() { + try { + stdout.write("If you want to remove a task enter its number:"); + int taskId = int.parse(stdin.readLineSync()!); + _tasks.removeWhere((tasks) => tasks.id == taskId); + print("Successfuly removed"); + } catch (e) { + print("Invalid ID"); + return; + } } }