slarny4/Demo1/Data/Repository/SQLUserRepositoryImpl.cs
Class_Student 9ba62b2fa2 init
2024-11-14 14:24:07 +03:00

87 lines
2.4 KiB
C#

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.User.Add(daoUser);
_context.SaveChanges();
}
public IEnumerable<UserDomain> GetAllUser()
{
return _context.User.Select(u => new UserDomain
{
Id = u.Id,
FIO = u.FIO,
GroupID = u.GroupID
}).ToList();
}
public UserDomain GetUserById(Guid id)
{
var daoUser = _context.User.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.User.Find(user.Id);
if (daoUser != null)
{
daoUser.FIO = user.FIO;
daoUser.GroupID = user.GroupID;
_context.SaveChanges();
}
}
public void DeleteUser(Guid id)
{
var daoUser = _context.User.Find(id);
if (daoUser != null)
{
_context.User.Remove(daoUser);
_context.SaveChanges();
}
}
// Реализуем метод GetAllUsers
public IEnumerable<UserDomain> GetAllUsers()
{
return _context.User.Select(u => new UserDomain
{
Id = u.Id,
FIO = u.FIO,
GroupID = u.GroupID
}).ToList();
}
}
}