using Demo.UI; using System; namespace Demo.UI { public class MainMenu { private readonly UserConsole _userConsole; private readonly GroupConsole _groupConsole; public MainMenu(UserConsole userConsole, GroupConsole groupConsole) { _userConsole = userConsole; _groupConsole = groupConsole; } public void ShowMenu() { while (true) { Console.Clear(); Console.WriteLine("======================================="); Console.WriteLine("| Меню управления системой |"); Console.WriteLine("======================================="); Console.WriteLine("| 1. Отобразить список всех пользователей"); Console.WriteLine("| 2. Отобразить список всех групп"); Console.WriteLine("| 3. Создать новую группу"); Console.WriteLine("| 4. Изменить название группы"); Console.WriteLine("| 5. Изменить данные пользователя"); Console.WriteLine("| 6. Удалить пользователя по GUID"); Console.WriteLine("| 7. Найти пользователя по GUID"); Console.WriteLine("| 8. Завершить работу"); Console.WriteLine("======================================="); Console.Write("Введите номер команды: "); string choice = Console.ReadLine(); Console.WriteLine(); switch (choice) { case "1": _userConsole.ShowAllUsers(); break; case "2": _groupConsole.ShowAllGroups(); break; case "3": _groupConsole.AddGroup(); break; case "4": Console.Write("Введите ID группы для изменения: "); if (int.TryParse(Console.ReadLine(), out int groupId)) { _groupConsole.UpdateGroup(groupId); } else { Console.WriteLine("Ошибка: Неверный формат идентификатора группы."); } break; case "5": Console.Write("Введите GUID пользователя для обновления: "); if (Guid.TryParse(Console.ReadLine(), out Guid userGuid)) { _userConsole.UpdateUser(userGuid); } else { Console.WriteLine("Ошибка: Некорректный формат GUID пользователя."); } break; case "6": Console.Write("Введите GUID пользователя для удаления: "); if (Guid.TryParse(Console.ReadLine(), out userGuid)) { _userConsole.DeleteUser(userGuid); } else { Console.WriteLine("Ошибка: Некорректный формат GUID пользователя."); } break; case "7": Console.Write("Введите GUID пользователя для поиска: "); if (Guid.TryParse(Console.ReadLine(), out userGuid)) { _userConsole.FindUser(userGuid); } else { Console.WriteLine("Ошибка: Некорректный формат GUID пользователя."); } break; case "8": Console.WriteLine("Завершение работы. До свидания!"); return; default: Console.WriteLine("Ошибка: Выберите корректный пункт меню."); break; } Console.WriteLine(); Console.WriteLine("Нажмите любую клавишу, чтобы вернуться в меню..."); Console.ReadKey(); } } } }