presence/Demo/UI/MainMenu.cs
2024-10-18 14:46:21 +03:00

97 lines
3.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.WriteLine("1. Показать всех пользователей");
Console.WriteLine("2. Показать все группы");
Console.WriteLine("3. Добавить группу");
Console.WriteLine("4. Обновить группу");
Console.WriteLine("5. Обновить пользователя");
Console.WriteLine("6. Удалить пользователя");
Console.WriteLine("7. Найти пользователя");
Console.WriteLine("8. Выход");
Console.WriteLine("Выберете команду:");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
_userConsole.ShowAllUsers();
break;
case "2":
_groupConsole.ShowAllGroups();
break;
case "3":
_groupConsole.AddGroup();
break;
case "4":
Console.WriteLine("Введите ID группы:");
if (int.TryParse(Console.ReadLine(), out int groupId))
{
_groupConsole.UpdateGroup(groupId);
}
else
{
Console.WriteLine("Ошибка: Введите корректный идентификатор группы.");
}
break;
case "5":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out Guid userGuid))
{
_userConsole.UpdateUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "6":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out userGuid))
{
_userConsole.DeleteUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "7":
Console.WriteLine("Введите юзер GUID:");
if (Guid.TryParse(Console.ReadLine(), out userGuid))
{
_userConsole.FindUser(userGuid);
}
else
{
Console.WriteLine("Ошибка: Введите корректный GUID пользователя.");
}
break;
case "8":
return;
default:
Console.WriteLine("Ошибка: Выберите корректный пункт меню.");
break;
}
}
}
}
}