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