using System; using AttendanceApp.Domain.UseCases; using AttendanceApp.Domain.Models; using AttendanceApp.Data.Exceptions; namespace Demo1 { public class UserConsole { private readonly UserUseCase _userUseCase; public UserConsole(UserUseCase userUseCase) { _userUseCase = userUseCase; } public void ShowAllUsers() { Console.Clear(); Console.WriteLine("=== Список всех пользователей ==="); var users = _userUseCase.GetAllUsers(); foreach (var user in users) { Console.WriteLine($"ID: {user.Id} | ФИО: {user.FIO} | Группа ID: {user.GroupId}"); } Console.WriteLine("Нажмите любую клавишу для продолжения..."); Console.ReadKey(); } public void DeleteUser() { Console.Clear(); Console.WriteLine("=== Удаление пользователя ==="); Console.Write("Введите GUID пользователя: "); var input = Console.ReadLine(); if (Guid.TryParse(input, out Guid userId)) { try { _userUseCase.DeleteUser(userId); Console.WriteLine("Пользователь успешно удалён."); } catch (UserNotFoundException ex) { Console.WriteLine(ex.Message); } } else { Console.WriteLine("Неверный формат GUID."); } Console.WriteLine("Нажмите любую клавишу для продолжения..."); Console.ReadKey(); } public void UpdateUser() { Console.Clear(); Console.WriteLine("=== Обновление пользователя ==="); Console.Write("Введите GUID пользователя: "); var input = Console.ReadLine(); if (Guid.TryParse(input, out Guid userId)) { try { var user = _userUseCase.GetUserById(userId); Console.WriteLine($"Текующее ФИО: {user.FIO}"); Console.Write("Введите новое ФИО (оставьте пустым для сохранения текущего): "); var newFIO = Console.ReadLine(); if (!string.IsNullOrWhiteSpace(newFIO)) { user.FIO = newFIO; } Console.WriteLine($"Текущая группа ID: {user.GroupId}"); Console.Write("Введите новый Group ID (оставьте пустым для сохранения текущего): "); var newGroupIdInput = Console.ReadLine(); if (int.TryParse(newGroupIdInput, out int newGroupId)) { user.GroupId = newGroupId; } _userUseCase.UpdateUser(user); Console.WriteLine("Пользователь успешно обновлён."); } catch (UserNotFoundException ex) { Console.WriteLine(ex.Message); } } else { Console.WriteLine("Неверный формат GUID."); } Console.WriteLine("Нажмите любую клавишу для продолжения..."); Console.ReadKey(); } public void FindUserById() { Console.Clear(); Console.WriteLine("=== Поиск пользователя по GUID ==="); Console.Write("Введите GUID пользователя: "); var input = Console.ReadLine(); if (Guid.TryParse(input, out Guid userId)) { try { var user = _userUseCase.GetUserById(userId); Console.WriteLine($"ID: {user.Id} | ФИО: {user.FIO} | Группа ID: {user.GroupId}"); } catch (UserNotFoundException ex) { Console.WriteLine(ex.Message); } } else { Console.WriteLine("Неверный формат GUID."); } Console.WriteLine("Нажмите любую клавишу для продолжения..."); Console.ReadKey(); } } }