presenceNikita/Demo/UI/MainMenu.cs

86 lines
3.4 KiB
C#

using Demo.domain.Models;
using Demo.Domain.UseCase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.UI
{
public class MainMenuUI
{
UserConsoleUI _userConsoleUI;
GroupConsoleUI _groupConsoleUI;
public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase)
{
_userConsoleUI = new UserConsoleUI(userUseCase);
_groupConsoleUI = new GroupConsoleUI(groupUseCase);
DisplayMenu();
}
private void DisplayMenu() {
while (true)
{
Console.WriteLine("1 - Вывести всех пользователей");
Console.WriteLine("2 - Удалить пользователя по guid");
Console.WriteLine("3 - Обновить пользователя по guid");
Console.WriteLine("4 - Найти пользователя по guid");
Console.WriteLine("5 - Вывести все группы");
Console.WriteLine("6 - Добавить группу");
Console.WriteLine("7 - Изменить название группы");
Console.Write("Введите номер команды: ");
switch (Convert.ToInt32(Console.ReadLine()))
{
// вывести всех пользователей
case 1: _userConsoleUI.DisplayAllUsers(); break;
// удалить пользователя по guid
case 2:
Console.Write("Введите guid пользователя: ");
_userConsoleUI.RemoveUserByGuid(Guid.Parse(Console.ReadLine()));
break;
// обновить пользователя по guid
case 3:
Console.Write("Введите GUID пользователя для обновления: ");
_userConsoleUI.UpdateUserGuid(Guid.Parse(Console.ReadLine()));
break;
// найти пользователя по guid
case 4:
Console.Write("Введите GUID пользователя: ");
_userConsoleUI.GetUserByGuid(Guid.Parse(Console.ReadLine())); break;
// вывести все группы
case 5: _groupConsoleUI.AllGroups(); break;
// добавить группу
case 6:
Console.Write("Введите название новой группы: ");
_groupConsoleUI.CreateGroup(Console.ReadLine()); break;
// изменить название группы
case 7:
Console.Write("Введите ID группы: ");
int id = Convert.ToInt32(Console.ReadLine());
Console.Write("Введи новое название: ");
string name = Console.ReadLine();
_groupConsoleUI.UpdateNameGroup(id, name);
break;
default: DisplayMenu();
break;
}
Console.WriteLine();
}
}
}
}