presenceNikita/Demo/UI/UserConsole.cs

75 lines
2.5 KiB
C#
Raw Permalink Normal View History

2024-10-16 08:22:40 +00:00
using Demo.Domain.UseCase;
using System;
using System.Text;
namespace Demo.UI
{
public class UserConsoleUI
{
2024-11-10 18:56:16 +00:00
private readonly UserUseCase _userUseCase;
2024-10-16 08:22:40 +00:00
2024-11-10 18:56:16 +00:00
public UserConsoleUI(UserUseCase userUseCase)
2024-10-21 08:46:20 +00:00
{
2024-11-10 18:56:16 +00:00
_userUseCase = userUseCase;
2024-10-16 08:22:40 +00:00
}
2024-11-10 18:56:16 +00:00
// Метод для отображения всех пользователей
2024-10-16 08:22:40 +00:00
public void DisplayAllUsers()
{
2024-11-10 18:56:16 +00:00
Console.WriteLine("\n=== Список всех пользователей ===");
2024-10-16 08:22:40 +00:00
StringBuilder userOutput = new StringBuilder();
2024-11-10 18:56:16 +00:00
2024-10-16 08:22:40 +00:00
foreach (var user in _userUseCase.GetAllUsers())
{
userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}");
}
2024-11-10 18:56:16 +00:00
2024-10-16 08:22:40 +00:00
Console.WriteLine(userOutput);
2024-11-10 18:56:16 +00:00
Console.WriteLine("===============================\n");
2024-10-16 08:22:40 +00:00
}
2024-10-18 14:03:25 +00:00
2024-11-10 18:56:16 +00:00
// Метод для удаления пользователя по ID
public void RemoveUserById(Guid userGuid)
2024-10-18 14:03:25 +00:00
{
2024-11-10 18:56:16 +00:00
string output = _userUseCase.RemoveUserById(userGuid) ? "Пользователь удален" : "Пользователь не найден";
Console.WriteLine($"\n{output}\n");
}
// Метод для обновления пользователя по ID
public void UpdateUserById(Guid userGuid)
{
try
{
var user = _userUseCase.FindUserById(userGuid);
Console.WriteLine($"Текущие данные: {user.FIO}, {user.Group.Name}");
Console.Write("\nВведите новое ФИО: ");
string newFIO = Console.ReadLine();
user.FIO = newFIO;
_userUseCase.UpdateUser(user);
Console.WriteLine("\nПользователь обновлен.\n");
}
catch (Exception ex)
{
Console.WriteLine($"Ошибка: {ex.Message}\n");
}
2024-10-18 14:03:25 +00:00
}
2024-11-10 18:56:16 +00:00
// Метод для поиска пользователя по ID
public void FindUserById(Guid userGuid)
2024-10-18 14:03:25 +00:00
{
2024-11-10 18:56:16 +00:00
var user = _userUseCase.FindUserById(userGuid);
if (user != null)
{
Console.WriteLine($"\nПользователь найден: {user.Guid}, {user.FIO}, {user.Group.Name}\n");
}
else
{
Console.WriteLine("\nПользователь не найден.\n");
}
2024-10-18 14:03:25 +00:00
}
2024-10-16 08:22:40 +00:00
}
}