using System.Text; using Demo.Domain.Models; using Demo.Domain.UseCase; namespace Demo.UI { public class UserConsoleUI { UserUseCase _userUseCase; public UserConsoleUI(UserUseCase userUseCase) { _userUseCase = userUseCase; } public void RemoveUserByGuid(Guid guidUser) { string output = _userUseCase.RemoveUserByGuid(guidUser) ? "Пользователь удален" : "Пользователь не удален"; Console.WriteLine(output); } 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 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); } } public class GroupConsoleUI { GroupUseCase _groupUseCase; public GroupConsoleUI(GroupUseCase groupUseCase){ _groupUseCase = groupUseCase; } public void DisplayAllGroups(){ StringBuilder userOutput = new StringBuilder(); foreach (var group in _groupUseCase.GetAllGroups()) { userOutput.AppendLine($"{group.ID}\t{group.Name}"); } Console.WriteLine(userOutput); } public void CreateNewGroup(Group group){ string output = _groupUseCase.CreateNewGroup(group) ? "Пользователь создан" : "Пользователь не создан"; } public void UpdateGroupName(Group group) { try { Group output = _groupUseCase.UpdateGroup(group); StringBuilder groupOutput = new StringBuilder(); groupOutput.AppendLine($"Обновленная группа: {output.ID}\t{output.Name}"); Console.WriteLine(groupOutput); } catch (Exception ex) { Console.WriteLine($"Ошибка при обновлении группы: {ex.Message}"); } } } }