renis-backend/Repositories/Users/UserRepository.cs

48 lines
1.0 KiB
C#

using Microsoft.EntityFrameworkCore;
using Renis.Database;
using Renis.Database.Models;
namespace Renis.Repositories;
public class UserRepository(ApplicationContext db) : IUserRepository
{
private readonly ApplicationContext _db = db;
public async Task<bool> AddUser(User user)
{
_db.Users.Add(user);
return await Save();
}
public async Task<bool> DeleteUser(User user)
{
_db.Users.Remove(user);
return await Save();
}
public async Task<User?> GetUserById(long id)
{
return await _db.Users.FirstOrDefaultAsync(x => x.Id == id);
}
public async Task<User?> GetUserByPhone(string phone)
{
return await _db.Users.FirstOrDefaultAsync(x => x.Phone == phone);
}
public IQueryable<User> GetUsers()
{
return _db.Users.AsQueryable();
}
public async Task<bool> Save()
{
return await _db.SaveChangesAsync() > 0;
}
public async Task<bool> UpdateUser(User user)
{
_db.Users.Update(user);
return await Save();
}
}