prezzens/Demo/UI/MainMenu.cs

108 lines
4.9 KiB
C#
Raw Normal View History

2024-10-19 19:38:28 +00:00
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();
}
}
}
}