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