Add project files.

This commit is contained in:
Adams
2025-04-07 11:47:28 +02:00
parent 616c50c0b9
commit 796a98dd89
42 changed files with 1871 additions and 0 deletions

View File

@ -0,0 +1,26 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.AspNetCore.Http;
using Oqtane.Modules;
using Oqtane.Repository;
using Oqtane.Infrastructure;
using Oqtane.Repository.Databases.Interfaces;
namespace AdamGais.Module.AnmeldeTool.Repository
{
public class AnmeldeToolContext : DBContextBase, ITransientService, IMultiDatabase
{
public virtual DbSet<Models.AnmeldeTool> AnmeldeTool { get; set; }
public AnmeldeToolContext(IDBContextDependencies DBContextDependencies) : base(DBContextDependencies)
{
// ContextBase handles multi-tenant database connections
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.Entity<Models.AnmeldeTool>().ToTable(ActiveDatabase.RewriteName("AdamGaisAnmeldeTool"));
}
}
}

View File

@ -0,0 +1,65 @@
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();
}
}
}

View File

@ -0,0 +1,15 @@
using System.Collections.Generic;
using System.Threading.Tasks;
namespace AdamGais.Module.AnmeldeTool.Repository
{
public interface IAnmeldeToolRepository
{
IEnumerable<Models.AnmeldeTool> GetAnmeldeTools(int ModuleId);
Models.AnmeldeTool GetAnmeldeTool(int AnmeldeToolId);
Models.AnmeldeTool GetAnmeldeTool(int AnmeldeToolId, bool tracking);
Models.AnmeldeTool AddAnmeldeTool(Models.AnmeldeTool AnmeldeTool);
Models.AnmeldeTool UpdateAnmeldeTool(Models.AnmeldeTool AnmeldeTool);
void DeleteAnmeldeTool(int AnmeldeToolId);
}
}