From bebcc29d6cc480ff084f95bc414332d1cda9d250 Mon Sep 17 00:00:00 2001 From: NikitaOnianov Date: Fri, 18 Oct 2024 17:03:25 +0300 Subject: [PATCH] UI --- Demo/UI/GroupConsole.cs | 33 ++++++++++++++++++-- Demo/UI/MainMenu.cs | 68 +++++++++++++++++++++++++++++++++++------ Demo/UI/UserConsole.cs | 21 +++++++++++-- 3 files changed, 108 insertions(+), 14 deletions(-) diff --git a/Demo/UI/GroupConsole.cs b/Demo/UI/GroupConsole.cs index 1ad9000..6fb5be3 100644 --- a/Demo/UI/GroupConsole.cs +++ b/Demo/UI/GroupConsole.cs @@ -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); + } } } diff --git a/Demo/UI/MainMenu.cs b/Demo/UI/MainMenu.cs index ce13884..292a3ef 100644 --- a/Demo/UI/MainMenu.cs +++ b/Demo/UI/MainMenu.cs @@ -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; @@ -9,27 +10,74 @@ namespace Demo.UI { public class MainMenuUI { - - UserConsoleUI _userConsoleUI; - public MainMenuUI(UserUseCase userUseCase) { - _userConsoleUI = new UserConsoleUI(userUseCase); + UserConsoleUI _userConsoleUI; + GroupConsoleUI _groupConsoleUI; + + + 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(); } } diff --git a/Demo/UI/UserConsole.cs b/Demo/UI/UserConsole.cs index 15ec296..a29d6f6 100644 --- a/Demo/UI/UserConsole.cs +++ b/Demo/UI/UserConsole.cs @@ -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}"); + } } }