66 lines
2.1 KiB
C#
66 lines
2.1 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
using Oqtane.Modules;
|
|
|
|
namespace AdamGais.Module.AnmeldeTool.Repository
|
|
{
|
|
public class AnmeldeToolRepository : IAnmeldeToolRepository, ITransientService
|
|
{
|
|
private readonly IDbContextFactory<AnmeldeToolContext> _factory;
|
|
|
|
public AnmeldeToolRepository(IDbContextFactory<AnmeldeToolContext> factory)
|
|
{
|
|
_factory = factory;
|
|
}
|
|
|
|
public IEnumerable<Models.AnmeldeTool> GetAnmeldeTools(int ModuleId)
|
|
{
|
|
using var db = _factory.CreateDbContext();
|
|
return db.AnmeldeTool.Where(item => item.ModuleId == ModuleId).ToList();
|
|
}
|
|
|
|
public Models.AnmeldeTool GetAnmeldeTool(int AnmeldeToolId)
|
|
{
|
|
return GetAnmeldeTool(AnmeldeToolId, true);
|
|
}
|
|
|
|
public Models.AnmeldeTool GetAnmeldeTool(int AnmeldeToolId, bool tracking)
|
|
{
|
|
using var db = _factory.CreateDbContext();
|
|
if (tracking)
|
|
{
|
|
return db.AnmeldeTool.Find(AnmeldeToolId);
|
|
}
|
|
else
|
|
{
|
|
return db.AnmeldeTool.AsNoTracking().FirstOrDefault(item => item.AnmeldeToolId == AnmeldeToolId);
|
|
}
|
|
}
|
|
|
|
public Models.AnmeldeTool AddAnmeldeTool(Models.AnmeldeTool AnmeldeTool)
|
|
{
|
|
using var db = _factory.CreateDbContext();
|
|
db.AnmeldeTool.Add(AnmeldeTool);
|
|
db.SaveChanges();
|
|
return AnmeldeTool;
|
|
}
|
|
|
|
public Models.AnmeldeTool UpdateAnmeldeTool(Models.AnmeldeTool AnmeldeTool)
|
|
{
|
|
using var db = _factory.CreateDbContext();
|
|
db.Entry(AnmeldeTool).State = EntityState.Modified;
|
|
db.SaveChanges();
|
|
return AnmeldeTool;
|
|
}
|
|
|
|
public void DeleteAnmeldeTool(int AnmeldeToolId)
|
|
{
|
|
using var db = _factory.CreateDbContext();
|
|
Models.AnmeldeTool AnmeldeTool = db.AnmeldeTool.Find(AnmeldeToolId);
|
|
db.AnmeldeTool.Remove(AnmeldeTool);
|
|
db.SaveChanges();
|
|
}
|
|
}
|
|
}
|