using Demo.Domain.UseCase; using System; namespace Demo.UI { public class MainMenuUI { private readonly UserConsoleUI _userConsoleUI; private readonly GroupConsoleUI _groupConsoleUI; public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase) { _userConsoleUI = new UserConsoleUI(userUseCase); _groupConsoleUI = new GroupConsoleUI(groupUseCase); } public void DisplayMenu() { while (true) { Console.WriteLine("\n=-= Главное меню =-=\n"); Console.WriteLine("=-= Команды с Пользователями =-="); Console.WriteLine("1. Вывести всех пользователей"); Console.WriteLine("2. Удалить пользователя по id"); Console.WriteLine("3. Обновить пользователя по id"); Console.WriteLine("4. Найти пользователя по id"); Console.WriteLine(); Console.WriteLine("=-= Команды с Группами =-="); Console.WriteLine("5. Вывести все группы"); Console.WriteLine("6. Добавить группу"); Console.WriteLine("7. Удалить группу"); Console.WriteLine("8. Изменить название группы"); Console.WriteLine("9. Поиск группы по ID"); Console.WriteLine(); Console.WriteLine("0. Выход"); Console.WriteLine(); Console.Write("\nВаш выбор: "); string comand = Console.ReadLine(); Console.WriteLine(); switch (comand) { case "1": // Отображение всех пользователей _userConsoleUI.DisplayAllUsers(); break; case "2": // Удаление пользователя по ID Console.Write("Введите ID пользователя для удаления: "); string inputId = Console.ReadLine(); if (int.TryParse(inputId, out int userId)) { _userConsoleUI.RemoveUserById(userId); } else { Console.WriteLine("Неверный формат ID"); } break; case "3": // Обновление пользователя по ID Console.Write("Введите ID пользователя для обновления: "); string updateIdInput = Console.ReadLine(); if (int.TryParse(updateIdInput, out int updateUserId)) { _userConsoleUI.UpdateUserById(updateUserId); } else { Console.WriteLine("Неверный формат ID"); } break; case "4": // Поиск пользователя по ID Console.Write("Введите ID пользователя для поиска: "); string findIdInput = Console.ReadLine(); if (int.TryParse(findIdInput, out int findUserId)) { _userConsoleUI.FindUserById(findUserId); } else { Console.WriteLine("Неверный формат ID"); } break; case "5": // Отображение всех групп _groupConsoleUI.DisplayAllGroups(); break; case "6": // Добавление новой группы Console.Write("Введите название новой группы: "); string newGroupName = Console.ReadLine(); _groupConsoleUI.AddGroup(newGroupName); break; case "7": // Удаление группы Console.Write("Введите ID группы для удаления: "); string groupIdForDelete=Console.ReadLine(); _groupConsoleUI.RemoveGroup(groupIdForDelete); break; case "8": // Изменение названия группы Console.Write("Введите ID группы для изменения: "); if (int.TryParse(Console.ReadLine(), out int groupId)) { Console.Write("Введите новое название группы: "); string newName = Console.ReadLine(); _groupConsoleUI.UpdateGroupName(groupId, newName); } else { Console.WriteLine("Неверный формат ID группы"); } break; case "9": // Поиск группы Console.Write("Введите ID группы для поиска : "); if(int.TryParse(Console.ReadLine(), out int IdGroup)){ _groupConsoleUI.FindGroupById(IdGroup); } break; case "0": Console.WriteLine("Выход..."); return; default: Console.WriteLine("Неверный выбор, попробуйте снова."); break; } Console.WriteLine(); } } } }