using Demo.Data.LocalData; using Demo.Data.LocalData.Entity; using System; using System.Collections.Generic; using System.Linq; namespace Demo { class Program { static void Main(string[] args) { bool exit = false; while (!exit) { Console.Clear(); Console.WriteLine("1. Показать всех пользователей"); Console.WriteLine("2. Удалить пользователя по GUID"); Console.WriteLine("3. Обновить пользователя"); Console.WriteLine("4. Найти пользователя по GUID"); Console.WriteLine("5. Показать все группы"); Console.WriteLine("6. Добавить группу"); Console.WriteLine("7. Обновить группу"); Console.WriteLine("8. Удалить группу по ID"); Console.WriteLine("9. Найти группу по ID"); Console.WriteLine("0. Выход"); Console.Write("Выберите опцию: "); var choice = Console.ReadLine(); switch (choice) { case "1": ShowUsers(); break; case "2": DeleteUserByGuid(); break; case "3": UpdateUser(); break; case "4": FindUserByGuid(); break; case "5": ShowGroups(); break; case "6": AddGroup(); break; case "7": UpdateGroup(); break; case "8": DeleteGroupById(); break; case "9": FindGroupById(); break; case "0": exit = true; break; default: Console.WriteLine("Неверный выбор. Нажмите любую клавишу для продолжения."); Console.ReadKey(); break; } } } static void ShowUsers() { Console.Clear(); foreach (var user in LocalStaticData.Users) { Console.WriteLine($"ID: {user.Id}, ФИО: {user.FIO}, GroupID: {user.GroupID}"); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void DeleteUserByGuid() { Console.Clear(); Console.Write("Введите GUID пользователя для удаления: "); if (Guid.TryParse(Console.ReadLine(), out Guid userId)) { var user = LocalStaticData.Users.FirstOrDefault(u => u.Id == userId); if (user != null) { LocalStaticData.Users.Remove(user); Console.WriteLine("Пользователь удалён."); } else { Console.WriteLine("Пользователь не найден."); } } else { Console.WriteLine("Неверный формат GUID."); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void UpdateUser() { Console.Clear(); Console.Write("Введите GUID пользователя для обновления: "); if (Guid.TryParse(Console.ReadLine(), out Guid userId)) { var user = LocalStaticData.Users.FirstOrDefault(u => u.Id == userId); if (user != null) { Console.Write("Введите новое ФИО: "); user.FIO = Console.ReadLine(); Console.Write("Введите новый GroupID: "); if (int.TryParse(Console.ReadLine(), out int groupId)) { user.GroupID = groupId; Console.WriteLine("Пользователь обновлён."); } else { Console.WriteLine("Неверный формат GroupID."); } } else { Console.WriteLine("Пользователь не найден."); } } else { Console.WriteLine("Неверный формат GUID."); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void FindUserByGuid() { Console.Clear(); Console.Write("Введите GUID пользователя для поиска: "); if (Guid.TryParse(Console.ReadLine(), out Guid userId)) { var user = LocalStaticData.Users.FirstOrDefault(u => u.Id == userId); if (user != null) { Console.WriteLine($"ID: {user.Id}, ФИО: {user.FIO}, GroupID: {user.GroupID}"); } else { Console.WriteLine("Пользователь не найден."); } } else { Console.WriteLine("Неверный формат GUID."); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void ShowGroups() { Console.Clear(); Console.WriteLine("Список групп:"); foreach (var group in LocalStaticData.Groups) { Console.WriteLine(group); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void AddGroup() { Console.Clear(); Console.Write("Введите название группы для добавления: "); var groupName = Console.ReadLine(); LocalStaticData.Groups.Add(groupName); Console.WriteLine("Группа добавлена."); Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void UpdateGroup() { Console.Clear(); Console.Write("Введите индекс группы для обновления (начиная с 0): "); if (int.TryParse(Console.ReadLine(), out int index) && index >= 0 && index < LocalStaticData.Groups.Count) { Console.Write("Введите новое название группы: "); LocalStaticData.Groups[index] = Console.ReadLine(); Console.WriteLine("Группа обновлена."); } else { Console.WriteLine("Неверный индекс группы."); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void DeleteGroupById() { Console.Clear(); Console.Write("Введите индекс группы для удаления (начиная с 0): "); if (int.TryParse(Console.ReadLine(), out int index) && index >= 0 && index < LocalStaticData.Groups.Count) { LocalStaticData.Groups.RemoveAt(index); Console.WriteLine("Группа удалена."); } else { Console.WriteLine("Неверный индекс группы."); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } static void FindGroupById() { Console.Clear(); Console.Write("Введите индекс группы для поиска (начиная с 0): "); if (int.TryParse(Console.ReadLine(), out int index) && index >= 0 && index < LocalStaticData.Groups.Count) { Console.WriteLine($"Группа: {LocalStaticData.Groups[index]}"); } else { Console.WriteLine("Группа не найдена."); } Console.WriteLine("Нажмите любую клавишу для продолжения."); Console.ReadKey(); } } }