presence123/Demo/UI/MainMenu.cs

148 lines
6.4 KiB
C#
Raw Normal View History

2024-10-21 12:41:56 +00:00
using Demo.Domain.UseCase;
using System;
namespace Demo.UI
{
public class MainMenuUI
{
private readonly UserConsoleUI _userConsoleUI;
private readonly GroupConsoleUI _groupConsoleUI;
public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase)
{
_userConsoleUI = new UserConsoleUI(userUseCase);
_groupConsoleUI = new GroupConsoleUI(groupUseCase);
}
public void DisplayMenu()
{
while (true)
{
Console.WriteLine("\n=-= Главное меню =-=\n");
Console.WriteLine("=-= Команды с Пользователями =-=");
Console.WriteLine("1. Вывести всех пользователей");
Console.WriteLine("2. Удалить пользователя по id");
Console.WriteLine("3. Обновить пользователя по id");
Console.WriteLine("4. Найти пользователя по id");
Console.WriteLine();
Console.WriteLine("=-= Команды с Группами =-=");
Console.WriteLine("5. Вывести все группы");
Console.WriteLine("6. Добавить группу");
Console.WriteLine("7. Удалить группу");
Console.WriteLine("8. Изменить название группы");
Console.WriteLine("9. Поиск группы по ID");
Console.WriteLine();
Console.WriteLine("0. Выход");
Console.WriteLine();
Console.Write("\nВаш выбор: ");
string comand = Console.ReadLine();
Console.WriteLine();
switch (comand)
{
case "1":
// Отображение всех пользователей
_userConsoleUI.DisplayAllUsers();
break;
case "2":
// Удаление пользователя по ID
Console.Write("Введите ID пользователя для удаления: ");
string inputId = Console.ReadLine();
if (int.TryParse(inputId, out int userId))
{
_userConsoleUI.RemoveUserById(userId);
}
else
{
Console.WriteLine("Неверный формат ID");
}
break;
case "3":
// Обновление пользователя по ID
Console.Write("Введите ID пользователя для обновления: ");
string updateIdInput = Console.ReadLine();
if (int.TryParse(updateIdInput, out int updateUserId))
{
_userConsoleUI.UpdateUserById(updateUserId);
}
else
{
Console.WriteLine("Неверный формат ID");
}
break;
case "4":
// Поиск пользователя по ID
Console.Write("Введите ID пользователя для поиска: ");
string findIdInput = Console.ReadLine();
if (int.TryParse(findIdInput, out int findUserId))
{
_userConsoleUI.FindUserById(findUserId);
}
else
{
Console.WriteLine("Неверный формат ID");
}
break;
case "5":
// Отображение всех групп
_groupConsoleUI.DisplayAllGroups();
break;
case "6":
// Добавление новой группы
Console.Write("Введите название новой группы: ");
string newGroupName = Console.ReadLine();
_groupConsoleUI.AddGroup(newGroupName);
break;
case "7":
// Удаление группы
Console.Write("Введите ID группы для удаления: ");
string groupIdForDelete=Console.ReadLine();
_groupConsoleUI.RemoveGroup(groupIdForDelete);
break;
case "8":
// Изменение названия группы
Console.Write("Введите ID группы для изменения: ");
if (int.TryParse(Console.ReadLine(), out int groupId))
{
Console.Write("Введите новое название группы: ");
string newName = Console.ReadLine();
_groupConsoleUI.UpdateGroupName(groupId, newName);
}
else
{
Console.WriteLine("Неверный формат ID группы");
}
break;
case "9":
// Поиск группы
Console.Write("Введите ID группы для поиска : ");
if(int.TryParse(Console.ReadLine(), out int IdGroup)){
_groupConsoleUI.FindGroupById(IdGroup);
}
break;
case "0":
Console.WriteLine("Выход...");
return;
default:
Console.WriteLine("Неверный выбор, попробуйте снова.");
break;
}
Console.WriteLine();
}
}
}
}