public void ChooseActionForCategories() { CategoryDal categoryDal = new CategoryDal(); Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\n"); Console.WriteLine("What action you want to choose?\n" + "1. View all categories\n" + "2. Get category by Id\n" + "3. Get category by name of column\n" + "4. Add category\n" + "5. Edit info about category\n" + "6. Delete category by Id\n" + "7. Delete category by name of column\n" + "8. Back to start menu"); Console.Write("\nYour selection: "); string ch = Console.ReadLine(); switch (ch) { case "1": { try { Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\n"); categoryDal.PrintListOfCategories(categoryDal.GetAll()); Console.ReadKey(); break; } finally { Menu menu = new Menu(); menu.ChooseActionForCategories(); } } case "2": { try { Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\nId: "); int id = Convert.ToInt32(Console.ReadLine()); categoryDal.PrintCategory(categoryDal.GetById(id)); Console.ReadKey(); break; } finally { Menu menu = new Menu(); menu.ChooseActionForCategories(); } } case "3": { try { Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\n"); Console.WriteLine("Name of column: "); string fieldName = Console.ReadLine(); Console.WriteLine("\nValue: "); string text = Console.ReadLine(); categoryDal.PrintListOfCategories(categoryDal.GetByFieldName(fieldName, text)); Console.ReadKey(); break; } finally { Menu menu = new Menu(); menu.ChooseActionForCategories(); } } case "4": { try { Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\n"); Console.WriteLine("NAME: "); string name = Console.ReadLine(); Console.WriteLine("DESCRIPTION: "); string desc = Console.ReadLine(); Category category = new Category(name, desc); categoryDal.Insert(category); Console.WriteLine("Category succesfully inserted :)"); Console.ReadKey(); break; } finally { Menu menu = new Menu(); menu.ChooseActionForCategories(); } } case "5": { try { Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\n"); Console.WriteLine("Name of column (set): "); string fieldName = Console.ReadLine(); Console.WriteLine("Value (set): "); string text = Console.ReadLine(); Console.WriteLine("Name of column (condition): "); string fieldCondition = Console.ReadLine(); Console.WriteLine("Value (condition): "); string textCondition = Console.ReadLine(); categoryDal.UpdateByFieldName(fieldName, text, fieldCondition, textCondition); Console.WriteLine("Category succesfully updated :)"); Console.ReadKey(); break; } finally { Menu menu = new Menu(); menu.ChooseActionForCategories(); } } case "6": { try { Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\nId: "); int id = Convert.ToInt32(Console.ReadLine()); categoryDal.DeleteById(id); Console.WriteLine("Category succesfully deleted :)"); Console.ReadKey(); break; } finally { Menu menu = new Menu(); menu.ChooseActionForCategories(); } } case "7": { try { Console.Clear(); Console.WriteLine("TABLE: CATEGORIES\n\n "); Console.WriteLine("Name of column (condition): "); string fieldCondition = Console.ReadLine(); Console.WriteLine("Value (condition): "); string textCondition = Console.ReadLine(); categoryDal.DeleteByFieldName(fieldCondition, textCondition); Console.WriteLine("Category succesfully deleted :)"); Console.ReadKey(); break; } finally { Menu menu = new Menu(); menu.ChooseActionForCategories(); } } case "8": { Menu menu = new Menu(); menu.ChooseTable(); break; } default: Console.WriteLine("Invalid selection. Please select 1, 2, 3, 4, 5, 6, 7 or 8."); break; } }