108 lines
4.9 KiB
C#
108 lines
4.9 KiB
C#
|
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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|