using System; using System.Collections.Generic; using System.Linq; using Demo.Data.RemoteData.RemoteDataBase.DAO; // DAO User using UserDomain = Demo.Domain.Models.User; // Доменная модель using UserEntity = Demo.Data.LocalData.Entity.User; // Локальная сущность namespace Demo.Data.Repository { public class SQLUserRepositoryImpl : IUserRepository { private readonly RemoteDatabaseContext _context; public SQLUserRepositoryImpl(RemoteDatabaseContext context) { _context = context; } public void AddUser(UserDomain user) { var daoUser = new UserEntity // Используем локальную сущность { Id = user.Id, FIO = user.FIO, GroupID = user.GroupID }; _context.Users.Add(daoUser); _context.SaveChanges(); } public IEnumerable GetAllUsers() { return _context.Users.Select(u => new UserDomain { Id = u.Id, FIO = u.FIO, GroupID = u.GroupID }).ToList(); } public UserDomain GetUserById(Guid id) { var daoUser = _context.Users.Find(id); if (daoUser == null) return null; return new UserDomain { Id = daoUser.Id, FIO = daoUser.FIO, GroupID = daoUser.GroupID }; } public void UpdateUser(UserDomain user) { var daoUser = _context.Users.Find(user.Id); if (daoUser != null) { daoUser.FIO = user.FIO; daoUser.GroupID = user.GroupID; _context.SaveChanges(); } } public void DeleteUser(Guid id) { var daoUser = _context.Users.Find(id); if (daoUser != null) { _context.Users.Remove(daoUser); _context.SaveChanges(); } } } }