using Microsoft.EntityFrameworkCore; using PaperlessAI.Context; using PaperlessAI.Interfaces; using PaperlessAI.Models; namespace PaperlessAI.Repositories; public class PaperlessDocumentRepository(MyDbContext context) : IRepository { public async Task Add(PaperlessDocument model, bool persist = true) { await context.PaperlessDocuments.AddAsync(model); await SaveOnPersist(persist); } public async Task Remove(PaperlessDocument model, bool persist = true) { context.PaperlessDocuments.Remove(model); await SaveOnPersist(persist); } public async Task Update(PaperlessDocument model, bool persist = true) { context.PaperlessDocuments.Update(model); await SaveOnPersist(persist); } public async Task Get(long id) => await context.PaperlessDocuments.Where(x => x.DocumentId == id).FirstOrDefaultAsync(); public async Task> GetAll() => await context.PaperlessDocuments.ToListAsync(); public async Task SaveOnPersist(bool persist) { if(persist) { await context.SaveChangesAsync(); } } }