This repository has been archived on 2024-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
NG_2023_Kanban/BusinessLayer/Service/DbService.cs
2023-05-15 20:45:16 +03:00

58 lines
1.6 KiB
C#

using NG_2023_Kanban.DataLayer.DbStartup;
using NG_2023_Kanban.DataLayer.Entities;
using Microsoft.EntityFrameworkCore;
namespace NG_2023_Kanban.BusinessLayer.Service
{
public class DbService
{
private readonly DatabaseContext _context;
public DbService(DatabaseContext context)
{
_context = context;
}
public async Task<User> AddAsync(User entity)
{
await _context.Set<User>().AddAsync(entity);
await _context.SaveChangesAsync();
return entity;
}
public async Task<User> GetByIdAsync(int id)
{
var entity = await _context.Set<User>().FirstOrDefaultAsync(x => x.Id == id);
return entity;
}
public async Task<User> LoginAsync(string username, string password)
{
User? entity = await _context.Set<User>().FirstOrDefaultAsync(x => x.Username == username);
if (entity != null && entity.Password == password) // TODO: hashing
return entity;
return null;
}
public async Task<ICollection<User>> GetAllAsync()
{
var entities = await _context.Set<User>().Select(x => x).ToListAsync();
return entities;
}
public async Task UpdateAsync(User model)
{
_context.Set<User>().Update(model);
await _context.SaveChangesAsync();
}
public async Task DeleteAsync(User model)
{
_context.Set<User>().Remove(model);
await _context.SaveChangesAsync();
}
}
}