slarny4/Demo1/UserConsole.cs
atabidze105 ad36f40a57 init
2024-10-24 11:50:32 +03:00

125 lines
4.7 KiB
C#

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();
}
}
}