using Demo.Data.Exceptions; using Demo.Data.LocalData; using Demo.Data.RemoteData.RemoteDataBase.DAO; using Demo.domain.Models; using System; using System.Collections.Generic; using System.Linq; namespace Demo.Data.Repository { public class UserRepositoryImpl : IUserRepository { private List _users; public UserRepositoryImpl() { _users = LocalStaticData.users; } public IEnumerable GetAllUsers => _users; // Метод удаления пользователя по Guid public bool RemoveUserByGuid(Guid userGuid) { // Ищем пользователя в списке по его Guid var user = _users.FirstOrDefault(u => u.Guid == userGuid); // Если пользователь не найден if (user == null) throw new UserNotFoundException(userGuid); // Удаляем пользователя _users.Remove(user); return true; // Если удаление прошло, возврашаем true } // Метод обновления информации о пользователе public UserLocalEnity? UpdateUser(UserLocalEnity user) { // Ищем пользователя по его Guid 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; // Возвращаем обновленный объект UserLocalEnity return existingUser; } // Метод получения списка пользователей с их ФИО и Guid public List GetUserNames() { // Запрашиваем пользователей и создаем список объектов UserDao с их GUID и ФИО return _users .Select(u => new UserDao { Guid = u.Guid, // Уникальный идентификатор пользователя FIO = u.FIO // ФИО пользователя }) .ToList(); // Преобразуем результат в список } } }