using Infrastructure.Data; using Microsoft.EntityFrameworkCore; namespace Infrastructure.Services.PostgreSQL; public class BasePostgreSQLRepository where T : class { protected readonly HealthcareManagerDatabase _context; public BasePostgreSQLRepository(HealthcareManagerDatabase context) { _context = context; } public async Task GetByIdAsync(Guid id) { return await _context.Set().FindAsync(id); } public async Task> GetAllAsync() { return await _context.Set().ToListAsync(); } public async Task AddAsync(T entity) { await _context.Set().AddAsync(entity); await _context.SaveChangesAsync(); } public async Task UpdateAsync(T entity) { _context.Set().Attach(entity); _context.Entry(entity).State = EntityState.Modified; await _context.SaveChangesAsync(); } public async Task DeleteAsync(T entity) { _context.Set().Remove(entity); await _context.SaveChangesAsync(); } }