using System.ComponentModel.DataAnnotations; using System.Text; using Demo.Domain.Models; using Demo.Domain.UseCase; namespace Demo.UI { public class UserConsoleUI { IUserUseCase _userUseCase; public UserConsoleUI(IUserUseCase userUseCase) { _userUseCase = userUseCase; } public void DisplayAllUsers() { StringBuilder userOutput = new StringBuilder(); foreach (var user in _userUseCase.GetAllUsers()) { userOutput.AppendLine($"{user.Guid}\t{user.FIO}\t{user.Group.Name}"); } Console.WriteLine(userOutput); } public void RemoveUserByGuid(Guid guidUser) { string output = _userUseCase.RemoveUserByGuid(guidUser) ? "Пользователь удален" : "Пользователь не удален"; Console.WriteLine(output); } public void UpdateUserByGuid(User user) { try { User output = _userUseCase.UpdateUser(user); StringBuilder userOutput = new StringBuilder(); userOutput.AppendLine($"Обновленный пользователь: {output.Guid}\t{output.FIO}\t{output.Group.Name}"); Console.WriteLine(userOutput); } catch (Exception ex) { Console.WriteLine($"Ошибка при обновлении пользователя: {ex.Message}"); } } public void DisplayUserByGuid(Guid guid){ User output = _userUseCase.GetUserByGuid(guid); StringBuilder userOutput = new StringBuilder(); userOutput.AppendLine($"{output.Guid}\t{output.FIO}\t{output.Group.Name}"); Console.WriteLine(userOutput); } } }