using Demo.domain.Models; using Demo.Domain.UseCase; using System; namespace Demo.UI { public class MainMenuUI { private UserConsoleUI _userConsoleUI; private GroupConsoleUI _groupConsoleUI; public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase) { _userConsoleUI = new UserConsoleUI(userUseCase); _groupConsoleUI = new GroupConsoleUI(groupUseCase); DisplayMenu(); } private void DisplayMenu() { while (true) { Console.WriteLine("Выберите действие:"); Console.WriteLine("1 - Вывести всех пользователей"); Console.WriteLine("2 - Удалить пользователя по GUID"); Console.WriteLine("3 - Обновить пользователя по GUID"); Console.WriteLine("4 - Вывести все группы"); Console.WriteLine("5 - Найти пользователя по GUID"); Console.WriteLine("6 - Добавить группу"); Console.WriteLine("7 - Обновить группу по ID"); Console.WriteLine("8 - Удалить группу по ID"); Console.WriteLine("0 - Выход"); var input = Console.ReadLine(); switch (input) { case "1": _userConsoleUI.DisplayAllUsers(); break; case "2": Console.WriteLine("Введите GUID пользователя для удаления:"); if (Guid.TryParse(Console.ReadLine(), out var userGuid)) { _userConsoleUI.RemoveUserByGuid(userGuid); } break; case "3": Console.WriteLine("Введите GUID пользователя для обновления:"); if (Guid.TryParse(Console.ReadLine(), out Guid updateGuid)) { Console.WriteLine("Введите новое имя пользователя:"); string newFio = Console.ReadLine(); Console.WriteLine("Введите новый ID группы:"); if (int.TryParse(Console.ReadLine(), out int newGroupId)) { Console.WriteLine("Введите название группы:"); string newGroupName = Console.ReadLine(); var updatedUser = new User { Guid = updateGuid, FIO = newFio, Group = new Group { Id = newGroupId, Name = newGroupName } }; _userConsoleUI.UpdateUser(updatedUser); } else { Console.WriteLine("Некорректный ID группы."); } } else { Console.WriteLine("Некорректный GUID."); } break; case "4": _groupConsoleUI.DisplayAllGroups(); break; case "5": Console.WriteLine("Введите GUID пользователя для поиска:"); if (Guid.TryParse(Console.ReadLine(), out var findUserGuid)) { _userConsoleUI.FindUserByGuid(findUserGuid); } else { Console.WriteLine("Некорректный GUID."); } break; case "6": _groupConsoleUI.AddGroup(); break; case "7": _groupConsoleUI.UpdateGroupName(); break; case "8": Console.WriteLine("Введите ID группы для удаления:"); if (int.TryParse(Console.ReadLine(), out int groupId)) { _groupConsoleUI.RemoveGroupById(groupId); } else { Console.WriteLine("Некорректный ID группы."); } break; case "0": return; default: Console.WriteLine("Некорректный выбор. Попробуйте снова."); break; } } } } }