static void Menu() { bool result = true; while (result) { int choise = Validation.Converter(); switch (choise) { case 1: { Console.Clear(); foreach (var item in TrainCollection <Train> .collection) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(item); Console.ResetColor(); } Console.ReadLine(); Console.Clear(); ConditionsMenu(); break; } case 2: { Console.Clear(); Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("The possible properties for sorting: "); PropertyInfo[] propertyInfos = typeof(Train).GetProperties(); foreach (PropertyInfo propertyInfo in propertyInfos) { Console.Write(propertyInfo.Name + " "); } Console.Write("Your choise: "); string property = Console.ReadLine(); TrainCollection <Train> .Sort(property); // Console.ResetColor(); Console.ReadLine(); Console.Clear(); ConditionsMenu(); break; } case 3: { Console.Clear(); TrainCollection <Train> .Find(); // Console.ReadLine(); Console.Clear(); ConditionsMenu(); break; } case 4: { Console.Clear(); var tuple = Train.Input(); TrainCollection <Train> .Add(new Train(tuple.Item2, tuple.Item1, tuple.Item3)); // Console.ReadLine(); Console.Clear(); ConditionsMenu(); break; } case 5: { Console.Clear(); Console.ForegroundColor = ConsoleColor.DarkYellow; Console.Write("Input the substring you want to remove: "); string substring = Console.ReadLine(); TrainCollection <Train> .Remove(substring); // Console.ResetColor(); Console.ReadLine(); Console.Clear(); ConditionsMenu(); break; } case 6: { Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("Input the substring you want to edit: "); string substring = Console.ReadLine(); var tuple = Train.Input(); TrainCollection <Train> .Edit(substring, new Train(tuple.Item2, tuple.Item1, tuple.Item3)); Console.ReadLine(); Console.Clear(); ConditionsMenu(); break; } default: { Console.Clear(); Console.BackgroundColor = ConsoleColor.Gray; Console.ForegroundColor = ConsoleColor.Black; Console.Write("I'm sorry..."); Console.ResetColor(); result = false; break; } } } }