using data.Exception; using data.LocalData; using data.RemoteData.DAO; using domain.Models; using System.Collections.Generic; using System.Linq; namespace data.Repository { public class UserRepositoryImpl : IUserRepository { private readonly List _users = LocalStaticData.users; // Локальный список пользователей // Получить всех пользователей public IEnumerable GetAllUsers => _users; // Удалить пользователя по GUID // Уникальный идентификатор пользователя // True, если пользователь удален // Исключение, если пользователь не найден public bool RemoveUserByGuid(Guid userGuid) { var user = _users.FirstOrDefault(u => u.Guid == userGuid); if (user == null) throw new UserNotFoundException(userGuid); // Если пользователь не найден, выбрасываем исключение _users.Remove(user); // Удаляем пользователя return true; // Возвращаем true, если удаление успешно } // Обновить данные пользователя // Объект с новыми данными // Обновленный пользователь // Исключение, если пользователь не найден public UserLocalEntity UpdateUser(UserLocalEntity user) { var existingUser = _users.FirstOrDefault(u => u.Guid == user.Guid); if (existingUser == null) throw new UserNotFoundException(user.Guid); // Если пользователь не найден, выбрасываем исключение existingUser.FIO = user.FIO; // Обновляем имя пользователя existingUser.GroupID = user.GroupID; // Обновляем группу пользователя return existingUser; // Возвращаем обновленного пользователя } // Получить список пользователей с их GUID и именами // Список объектов UserDao public List GetUserNames() { return _users.Select(u => new UserDao { Guid = u.Guid, // Уникальный идентификатор пользователя FIO = u.FIO // Полное имя пользователя }).ToList(); } } }