using BlackRock.Reporting.API.Core; using BlackRock.Reporting.API.Core.Models; using Microsoft.EntityFrameworkCore; namespace BlackRock.Reporting.API.Persistence { public class Repository : IRepository where TEntity : class, IBaseEntity { private readonly BRDbContext context; public Repository(BRDbContext context) { this.context = context; } public async Task> GetAllAsync() { return await context.Set().ToListAsync(); } public async Task GetByIdAsync(int id) { return await context.Set() .FindAsync(id); } public async Task AddAsync(TEntity entity) { await context.Set().AddAsync(entity); } public void Update(TEntity entity) { context.Set().Update(entity); } public void UpdateRange(IEnumerable entities) { context.Set().UpdateRange(entities); } public async Task AddRangeAsync(IEnumerable entities) { await context.Set().AddRangeAsync(entities); } public void Remove(TEntity entity) { context.Set().Remove(entity); } public void RemoveRange(IEnumerable entities) { context.Set().RemoveRange(entities); } } }