85 lines
3.0 KiB
C#
85 lines
3.0 KiB
C#
|
using Demo.Data.Repository;
|
|||
|
using Demo.Data.Exceptions; // Добавлено
|
|||
|
using Demo.Domain.Models;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using Demo.domain.Models;
|
|||
|
|
|||
|
namespace Demo.Domain.UseCase
|
|||
|
{
|
|||
|
public class UserUseCase
|
|||
|
{
|
|||
|
private readonly UserRepositoryImpl _userRepositoryImpl;
|
|||
|
|
|||
|
public UserUseCase(UserRepositoryImpl userRepositoryImpl)
|
|||
|
{
|
|||
|
_userRepositoryImpl = userRepositoryImpl;
|
|||
|
}
|
|||
|
|
|||
|
public List<UserLocalEntity> GetAllUsers()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
return new List<UserLocalEntity>(_userRepositoryImpl.GetAllUsers);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
Console.WriteLine($"Ошибка при получении пользователей: {ex.Message}");
|
|||
|
return new List<UserLocalEntity>(); // Возвращаем пустой список в случае ошибки
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void DeleteUserByGuid(Guid guid) // Изменен тип параметра
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
_userRepositoryImpl.DeleteUserByGuid(guid);
|
|||
|
}
|
|||
|
catch (DataNotFoundException ex)
|
|||
|
{
|
|||
|
Console.WriteLine($"Ошибка при удалении пользователя: {ex.Message}"); // Логгирование
|
|||
|
}
|
|||
|
catch (Exception ex) // Ловим любые другие ошибки
|
|||
|
{
|
|||
|
Console.WriteLine($"Неизвестная ошибка: {ex.Message}");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public UserLocalEntity? FindUserByGuid(Guid guid) // Изменен тип параметра
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
return _userRepositoryImpl.FindUserByGuid(guid);
|
|||
|
}
|
|||
|
catch (DataNotFoundException ex)
|
|||
|
{
|
|||
|
Console.WriteLine($"Ошибка при поиске пользователя: {ex.Message}"); // Логгирование
|
|||
|
return null; // Возвращаем null в случае ошибки
|
|||
|
}
|
|||
|
catch (Exception ex) // Ловим любые другие ошибки
|
|||
|
{
|
|||
|
Console.WriteLine($"Неизвестная ошибка: {ex.Message}");
|
|||
|
return null; // Возвращаем null в случае ошибки
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void UpdateUser(Guid guid, string newFIO, int newGroupID)
|
|||
|
{
|
|||
|
var users = _userRepositoryImpl.GetAllUsers; // Получаем список пользователей
|
|||
|
var user = users.FirstOrDefault(u => u.Guid == guid);
|
|||
|
|
|||
|
if (user != null)
|
|||
|
{
|
|||
|
user.FIO = newFIO;
|
|||
|
user.GroupID = newGroupID;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|