39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using PaperlessAI.Context;
|
|
using PaperlessAI.Interfaces;
|
|
using PaperlessAI.Models;
|
|
|
|
namespace PaperlessAI.Repositories;
|
|
|
|
public class PaperlessDocumentRepository(MyDbContext context) : IRepository<PaperlessDocument>
|
|
{
|
|
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<PaperlessDocument?> Get(long id) => await context.PaperlessDocuments.Where(x => x.DocumentId == id).FirstOrDefaultAsync();
|
|
public async Task<List<PaperlessDocument>> GetAll() => await context.PaperlessDocuments.ToListAsync();
|
|
|
|
public async Task SaveOnPersist(bool persist)
|
|
{
|
|
if(persist)
|
|
{
|
|
await context.SaveChangesAsync();
|
|
}
|
|
}
|
|
}
|