From 7df9d8b86f493291bc5f633ec2715befefb7c59b Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:06:18 +0100 Subject: [PATCH 01/10] Basic environment set up --- Todo-Challenge/Todo-Challenge/Program.cs | 14 ++++++++++++-- Todo-Challenge/Todo-Challenge/ToDoItemClass.cs | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 Todo-Challenge/Todo-Challenge/ToDoItemClass.cs diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index 3751555..7931de5 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -1,2 +1,12 @@ -// See https://aka.ms/new-console-template for more information -Console.WriteLine("Hello, World!"); +using System; + +namespace ToDoListApp +{ + class Program + { + static void Main(string[] args) + { + + } + } +} \ No newline at end of file diff --git a/Todo-Challenge/Todo-Challenge/ToDoItemClass.cs b/Todo-Challenge/Todo-Challenge/ToDoItemClass.cs new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/Todo-Challenge/Todo-Challenge/ToDoItemClass.cs @@ -0,0 +1 @@ + \ No newline at end of file From bd5dbb9bdde13cd1f174229a1c9e75eb1b6cfacf Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:08:01 +0100 Subject: [PATCH 02/10] added "hello world to test if working --- Todo-Challenge/Todo-Challenge/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index 7931de5..21a571f 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -6,7 +6,7 @@ class Program { static void Main(string[] args) { - + Console.WriteLine("Hello World"); } } } \ No newline at end of file From 47d46a153428eb89ff763cee650773fdce4bd454 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:12:28 +0100 Subject: [PATCH 03/10] Added options via text. --- Todo-Challenge/Todo-Challenge/Program.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index 21a571f..3cd15fe 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -6,7 +6,13 @@ class Program { static void Main(string[] args) { - Console.WriteLine("Hello World"); + Console.WriteLine("Welcome to the To-Do List App!"); + Console.WriteLine("\nPlease choose an action:"); + Console.WriteLine("1. Add todo item"); + Console.WriteLine("2. Complete todo item"); + Console.WriteLine("3. See all todo items"); + Console.WriteLine("4. Delete todo item"); + Console.WriteLine("5. Exit"); } } } \ No newline at end of file From fc8de559591d56daaf8d4961c67dd834a69ee785 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:19:25 +0100 Subject: [PATCH 04/10] Todo item class created --- Todo-Challenge/Todo-Challenge/ToDoItemClass.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Todo-Challenge/Todo-Challenge/ToDoItemClass.cs b/Todo-Challenge/Todo-Challenge/ToDoItemClass.cs index 5f28270..89813ae 100644 --- a/Todo-Challenge/Todo-Challenge/ToDoItemClass.cs +++ b/Todo-Challenge/Todo-Challenge/ToDoItemClass.cs @@ -1 +1,14 @@ - \ No newline at end of file +namespace ToDoListApp +{ + public class ToDoItem + { + public string Description { get; set; } + public bool IsCompleted { get; set; } + + public ToDoItem(string description) + { + Description = description; + IsCompleted = false; + } + } +} \ No newline at end of file From 46ee951c34df03c0a0f45397912a63c892b16666 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:27:12 +0100 Subject: [PATCH 05/10] added case 1 --- Todo-Challenge/Todo-Challenge/Program.cs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index 3cd15fe..bf3efcf 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; namespace ToDoListApp { @@ -6,6 +7,10 @@ class Program { static void Main(string[] args) { + List todoList = new List(); + + while (true) + { Console.WriteLine("Welcome to the To-Do List App!"); Console.WriteLine("\nPlease choose an action:"); Console.WriteLine("1. Add todo item"); @@ -13,6 +18,22 @@ static void Main(string[] args) Console.WriteLine("3. See all todo items"); Console.WriteLine("4. Delete todo item"); Console.WriteLine("5. Exit"); + + int choice; + if (int.TryParse(Console.ReadLine(), out choice)) + { + switch (choice) + { + case 1: + Console.Write("Enter task: "); + string description = Console.ReadLine(); + ToDoItem newItem = new(description); + todoList.Add(newItem); + Console.WriteLine("Task added."); + break; + } + } + } } } } \ No newline at end of file From bd7a5980a128611dba7831a8a05103b35df81f67 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:35:59 +0100 Subject: [PATCH 06/10] Moved welcome message to top and added case 3. Also added sections for further cases. --- Todo-Challenge/Todo-Challenge/Program.cs | 30 +++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index bf3efcf..4cf36bb 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -9,9 +9,9 @@ static void Main(string[] args) { List todoList = new List(); + Console.WriteLine("Welcome to the To-Do List App!"); while (true) { - Console.WriteLine("Welcome to the To-Do List App!"); Console.WriteLine("\nPlease choose an action:"); Console.WriteLine("1. Add todo item"); Console.WriteLine("2. Complete todo item"); @@ -31,6 +31,34 @@ static void Main(string[] args) todoList.Add(newItem); Console.WriteLine("Task added."); break; + + case 2: + Console.Write("Section 2 not completed"); + break; + + case 3: + if (todoList.Count == 0) + { + Console.WriteLine("\nYour to-do list is empty.\n"); + } + else + { + Console.WriteLine("\nYour To-Do List:"); + for (int i = 0; i < todoList.Count; i++) + { + string status = todoList[i].IsCompleted ? "[X]" : "[ ]"; + Console.WriteLine($"{i + 1}. {status} {todoList[i].Description}"); + } + } + break; + + case 4: + Console.WriteLine("Section 4 not completed"); + break; + + case 5: + Console.WriteLine("Section 5 not completed"); + break; } } } From 0879673ccdf98044a30b4d8c0493aed206569f60 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:40:10 +0100 Subject: [PATCH 07/10] Added case 2. Just completes items. Doesnt display completed item. --- Todo-Challenge/Todo-Challenge/Program.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index 4cf36bb..dd74c8a 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -33,7 +33,16 @@ static void Main(string[] args) break; case 2: - Console.Write("Section 2 not completed"); + Console.Write("Enter task number to complete: "); + if (int.TryParse(Console.ReadLine(), out int taskIndex) && taskIndex > 0 && taskIndex <= todoList.Count) + { + todoList[taskIndex - 1].IsCompleted = true; + Console.WriteLine("Task completed."); + } + else + { + Console.WriteLine("Invalid task number."); + } break; case 3: From dc145252317a9cd93c0fae3b294ef144a03713a8 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:48:50 +0100 Subject: [PATCH 08/10] Finsihed case 4 and 5. Can remove todos. --- Todo-Challenge/Todo-Challenge/Program.cs | 30 +++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index dd74c8a..c744c32 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -25,30 +25,30 @@ static void Main(string[] args) switch (choice) { case 1: - Console.Write("Enter task: "); + Console.Write("Enter todo: "); string description = Console.ReadLine(); ToDoItem newItem = new(description); todoList.Add(newItem); - Console.WriteLine("Task added."); + Console.WriteLine("Todo added."); break; case 2: - Console.Write("Enter task number to complete: "); - if (int.TryParse(Console.ReadLine(), out int taskIndex) && taskIndex > 0 && taskIndex <= todoList.Count) + Console.Write("Enter todo number to complete: "); + if (int.TryParse(Console.ReadLine(), out int todoIndex) && todoIndex > 0 && todoIndex <= todoList.Count) { - todoList[taskIndex - 1].IsCompleted = true; - Console.WriteLine("Task completed."); + todoList[todoIndex - 1].IsCompleted = true; + Console.WriteLine("Todo completed."); } else { - Console.WriteLine("Invalid task number."); + Console.WriteLine("Invalid todo number."); } break; case 3: if (todoList.Count == 0) { - Console.WriteLine("\nYour to-do list is empty.\n"); + Console.WriteLine("\nYour todo list is empty.\n"); } else { @@ -62,12 +62,20 @@ static void Main(string[] args) break; case 4: - Console.WriteLine("Section 4 not completed"); + Console.Write("Enter todo number to delete: "); + if (int.TryParse(Console.ReadLine(), out int todoremoveIndex) && todoremoveIndex > 0 && todoremoveIndex <= todoList.Count) + { + todoList.RemoveAt(todoremoveIndex - 1); + Console.WriteLine("Todo deleted."); + } + else + { + Console.WriteLine("Invalid todo number."); + } break; case 5: - Console.WriteLine("Section 5 not completed"); - break; + return; } } } From c7cadaa18e6dd8d4963161791c2166d09522ada2 Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 13:55:46 +0100 Subject: [PATCH 09/10] Added some spacing in text and referneces for clarity. PROJECT COMPLETE --- Todo-Challenge/Todo-Challenge/Program.cs | 25 ++++++++++++------------ 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index c744c32..4479311 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -19,33 +19,32 @@ static void Main(string[] args) Console.WriteLine("4. Delete todo item"); Console.WriteLine("5. Exit"); - int choice; - if (int.TryParse(Console.ReadLine(), out choice)) + if (int.TryParse(Console.ReadLine(), out int choice)) { switch (choice) { - case 1: - Console.Write("Enter todo: "); + case 1: // Add a todo item + Console.Write("\nEnter todo: \n"); string description = Console.ReadLine(); ToDoItem newItem = new(description); todoList.Add(newItem); - Console.WriteLine("Todo added."); + Console.WriteLine($"\nTodo item: '{description}' added.\n"); break; - case 2: + case 2: // Complete specific todo items Console.Write("Enter todo number to complete: "); if (int.TryParse(Console.ReadLine(), out int todoIndex) && todoIndex > 0 && todoIndex <= todoList.Count) { todoList[todoIndex - 1].IsCompleted = true; - Console.WriteLine("Todo completed."); + Console.WriteLine($"\nTodo item '{todoList[todoIndex - 1]}' completed.\n"); } else { - Console.WriteLine("Invalid todo number."); + Console.WriteLine("\nInvalid todo number.\n"); } break; - case 3: + case 3: // View all todo items if (todoList.Count == 0) { Console.WriteLine("\nYour todo list is empty.\n"); @@ -61,16 +60,16 @@ static void Main(string[] args) } break; - case 4: - Console.Write("Enter todo number to delete: "); + case 4: // Delete a todo item + Console.Write("\nEnter todo number to delete: \n"); if (int.TryParse(Console.ReadLine(), out int todoremoveIndex) && todoremoveIndex > 0 && todoremoveIndex <= todoList.Count) { todoList.RemoveAt(todoremoveIndex - 1); - Console.WriteLine("Todo deleted."); + Console.WriteLine($"\nTodo number {todoremoveIndex - 1} deleted.\n"); } else { - Console.WriteLine("Invalid todo number."); + Console.WriteLine("\nInvalid todo number.\n"); } break; From 580d8d47aca62b2a5c742628ede8644aadcb8c9c Mon Sep 17 00:00:00 2001 From: Lukas Date: Wed, 22 May 2024 14:00:15 +0100 Subject: [PATCH 10/10] added more spacing and fixed reference on line39. PROJECT COMPLETE COMPLETE --- Todo-Challenge/Todo-Challenge/Program.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Todo-Challenge/Todo-Challenge/Program.cs b/Todo-Challenge/Todo-Challenge/Program.cs index 4479311..d0a3f50 100644 --- a/Todo-Challenge/Todo-Challenge/Program.cs +++ b/Todo-Challenge/Todo-Challenge/Program.cs @@ -32,11 +32,11 @@ static void Main(string[] args) break; case 2: // Complete specific todo items - Console.Write("Enter todo number to complete: "); + Console.Write("\nEnter todo number to complete: \n"); if (int.TryParse(Console.ReadLine(), out int todoIndex) && todoIndex > 0 && todoIndex <= todoList.Count) { todoList[todoIndex - 1].IsCompleted = true; - Console.WriteLine($"\nTodo item '{todoList[todoIndex - 1]}' completed.\n"); + Console.WriteLine($"\nTodo item '{todoList[todoIndex - 1].Description}' completed.\n"); } else { @@ -65,7 +65,7 @@ static void Main(string[] args) if (int.TryParse(Console.ReadLine(), out int todoremoveIndex) && todoremoveIndex > 0 && todoremoveIndex <= todoList.Count) { todoList.RemoveAt(todoremoveIndex - 1); - Console.WriteLine($"\nTodo number {todoremoveIndex - 1} deleted.\n"); + Console.WriteLine($"\nTodo number {todoremoveIndex} deleted.\n"); } else {