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 GetAllUsers() { try { return new List(_userRepositoryImpl.GetAllUsers); } catch (Exception ex) { Console.WriteLine($"Ошибка при получении пользователей: {ex.Message}"); return new List(); // Возвращаем пустой список в случае ошибки } } 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} не найден."); // Кастомное исключение } } } }