NewPresence/data/Repository/SQLUserRepository.cs
2025-04-29 15:33:18 +03:00

61 lines
1.5 KiB
C#

using data.RemoteData.RemoteDataBase;
using data.RemoteData.RemoteDatabase.DAO;
using Microsoft.EntityFrameworkCore;
namespace data.Repository;
public class SQLUserRepository : IUserRepository
{
private readonly RemoteDatabaseContext _context;
public SQLUserRepository(RemoteDatabaseContext context)
{
_context = context;
}
public List<UserDAO> GetAllUsers()
{
return _context.Users
.OrderBy(u => u.UserId)
.AsNoTracking()
.ToList();
}
public bool RemoveUserByUserId(int userId)
{
try
{
_context.Users.Remove(_context.Users.Find(userId));
_context.SaveChanges();
return true;
}
catch (Exception)
{
return false;
}
}
public UserDAO FindUserByUserId(int UserId)
{
return _context.Users.Find(UserId);
}
public bool UpdateUserByUserId(UserDAO user)
{
var groupExists = _context.Groups.Any(x => x.Id == user.GroupId);
if (!groupExists)
{
Console.WriteLine("Группа не найдена");
return false;
}
var userExists = _context.Users.FirstOrDefault(u=>u.UserId==user.UserId);
if (userExists==null)
{
Console.WriteLine("Студент не найден");
return false;
}
userExists.FIO = user.FIO;
userExists.GroupId = user.GroupId;
_context.SaveChanges();
return true;
}
}