using System; using System.Collections.Generic; using System.Linq; using Demo.Data.LocalData; using Demo.Domain.Models; namespace Demo.Data.Repository { public class UserRepositoryImpl { private List _users; public UserRepositoryImpl() { _users = LocalStaticData.Users.Select(it => new User { FIO = it.FIO, GroupID = it.GroupID, Group=new Group(), Guid = it.Guid }).ToList(); } public List GetAllUsers() { return _users; } public User GetByGuid(Guid id) { // Исправлено на правильное сравнение return _users.FirstOrDefault(u => u.Guid == id); } public void AddUser(User user) { _users.Add(user); } public bool UpdateUser(User user) { var existingUser = _users.FirstOrDefault(u => u.Guid == user.Guid); if (existingUser != null) { existingUser.FIO = user.FIO; // Обновите остальные поля, если необходимо existingUser.Group = user.Group; // Обновление группы (если нужно) return true; // Успешное обновление } return false; // Пользователь не найден } public void RemoveUser(Guid userGuid) { var user = _users.FirstOrDefault(u => u.Guid == userGuid); if (user != null) { _users.Remove(user); } } public bool RemoveUserByGuid(Guid userGuid) { var user = _users.FirstOrDefault(u => u.Guid == userGuid); if (user != null) { _users.Remove(user); return true; // Успешное удаление } return false; // Пользователь не найден } public User FindUserByGuid(Guid userGuid) { return _users.FirstOrDefault(u => u.Guid == userGuid); } // Метод для получения пользователей по ID группы public List GetUsersByGroupId(int groupId) { return _users.Where(u => u.Group.Id == groupId).ToList(); } } }