using Demo.Data.LocalData; using Demo.domain.Models; using Demo.Data.Exceptions; // Добавлено using System; using System.Collections.Generic; using System.Linq; namespace Demo.Data.Repository { public class UserRepositoryImpl { private List _users; public UserRepositoryImpl() { _users = LocalStaticData.users; // Получаем пользователей из LocalStaticData } // Получение всех пользователей public IEnumerable GetAllUsers => _users; // Удаление пользователя по GUID public void DeleteUserByGuid(Guid guid) { var user = _users.FirstOrDefault(u => u.Guid == guid); if (user != null) { _users.Remove(user); } else { throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение } } // Поиск пользователя по GUID public UserLocalEntity? FindUserByGuid(Guid guid) { var user = _users.FirstOrDefault(u => u.Guid == guid); if (user == null) { throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение } return user; } // Обновление пользователя public void UpdateUser(string guidOrInt, string newFIO, int newGroupID) { Guid guid; if (!Guid.TryParse(guidOrInt, out guid)) { throw new ArgumentException($"Значение '{guidOrInt}' не является корректным GUID."); } var user = _users.FirstOrDefault(u => u.Guid == guid); if (user != null) { user.FIO = newFIO; user.GroupID = newGroupID; } else { throw new GuidNotFoundException($"Пользователь с GUID {guid} не найден."); // Кастомное исключение } } } }