This commit is contained in:
NikitaOnianov 2024-10-18 17:03:25 +03:00
parent f8fb2da4bc
commit bebcc29d6c
3 changed files with 108 additions and 14 deletions

View File

@ -1,12 +1,41 @@
using System;
using Demo.Domain.UseCase;
using Demo.domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using System.Text.RegularExpressions;
namespace Demo.UI
{
internal class GroupConsole
internal class GroupConsoleUI
{
GroupUseCase _groupUseCase;
public GroupConsoleUI(GroupUseCase groupUseCase)
{
_groupUseCase = groupUseCase;
}
public void AllGroups()
{
foreach (var Group in _groupUseCase.GetAllGroups())
{
Console.WriteLine($"{Group.Id}\t{Group.Name}");
}
}
public void CreateGroup(string NameGroup)
{
_groupUseCase.AddGroup(NameGroup);
}
public void UpdateNameGroup(int id, string name)
{
_groupUseCase.UpdateGroup(id, name);
}
}
}

View File

@ -1,4 +1,5 @@
using Demo.Domain.UseCase;
using Demo.domain.Models;
using Demo.Domain.UseCase;
using System;
using System.Collections.Generic;
using System.Linq;
@ -11,25 +12,72 @@ namespace Demo.UI
{
UserConsoleUI _userConsoleUI;
GroupConsoleUI _groupConsoleUI;
public MainMenuUI(UserUseCase userUseCase) {
public MainMenuUI(UserUseCase userUseCase, GroupUseCase groupUseCase)
{
_userConsoleUI = new UserConsoleUI(userUseCase);
_groupConsoleUI = new GroupConsoleUI(groupUseCase);
DisplayMenu();
}
private void DisplayMenu() {
while (true)
{
switch (Console.ReadLine())
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;
case "2": _userConsoleUI.RemoveUserByGuid(Guid.Parse(Console.ReadLine())); break;
// вывести всех пользователей
case 1: _userConsoleUI.DisplayAllUsers(); break;
// удалить пользователя по guid
case 2:
Console.Write("Введите имя пользователя: ");
_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();
}
}

View File

@ -1,4 +1,5 @@
using Demo.Domain.UseCase;
using Demo.domain.Models;
using System;
using System.Collections.Generic;
using System.Linq;
@ -16,8 +17,8 @@ namespace Demo.UI
public void RemoveUserByGuid(Guid guidUser) {
string output = _userUseCase.RemoveUserByGuid(guidUser) ? "Пользователь удален" : "Пользователь не удален";
Console.WriteLine(output);
string del = _userUseCase.RemoveUserByGuid(guidUser) ? "Пользователь удален" : "Пользователь не удален";
Console.WriteLine(del);
}
public void DisplayAllUsers()
@ -29,5 +30,21 @@ namespace Demo.UI
}
Console.WriteLine(userOutput);
}
public void UpdateUserGuid(Guid guidUser)
{
var user = _userUseCase.FindUserByGuid(guidUser);
Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}");
Console.Write("Введите новое ФИО: ");
string newFIO = Console.ReadLine();
user.FIO = newFIO;
_userUseCase.UpdateUser(user);
}
public void GetUserByGuid(Guid guidUser)
{
var user = _userUseCase.FindUserByGuid(guidUser);
Console.WriteLine($"Пользователь найден: {user.Guid}, {user.FIO}, {user.Group.Name}");
}
}
}