New: Report-System using globally available Interfaces.
This commit is contained in:
37
Server/Migrations/EntityBuilders/ReportingEntityBuilder.cs
Normal file
37
Server/Migrations/EntityBuilders/ReportingEntityBuilder.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Migrations.Operations;
|
||||
using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders;
|
||||
using Oqtane.Databases.Interfaces;
|
||||
using Oqtane.Migrations;
|
||||
using Oqtane.Migrations.EntityBuilders;
|
||||
|
||||
namespace SZUAbsolventenverein.Module.AdminModules.Migrations.EntityBuilders;
|
||||
|
||||
public class ReportingEntityBuilder : AuditableBaseEntityBuilder<ReportingEntityBuilder>
|
||||
{
|
||||
private const string _entityTableName = "SZUAbsolventenvereinReportings";
|
||||
private readonly PrimaryKey<ReportingEntityBuilder> _primaryKey = new ("PK_ReportingEntityBuilder", x => x.ReportingID);
|
||||
|
||||
public ReportingEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database)
|
||||
{
|
||||
EntityTableName = _entityTableName;
|
||||
PrimaryKey = _primaryKey;
|
||||
}
|
||||
|
||||
protected override ReportingEntityBuilder BuildTable(ColumnsBuilder table)
|
||||
{
|
||||
ReportingID = AddAutoIncrementColumn(table, "ReportingID");
|
||||
ModuleId = AddIntegerColumn(table, "ModuleId");
|
||||
EntityId = AddIntegerColumn(table, "EntityId");
|
||||
Note = AddMaxStringColumn(table, "Note");
|
||||
Reason = AddMaxStringColumn(table, "Reason");
|
||||
AddAuditableColumns(table);
|
||||
return this;
|
||||
}
|
||||
|
||||
public OperationBuilder<AddColumnOperation> ReportingID { get; set; }
|
||||
public OperationBuilder<AddColumnOperation> ModuleId { get; set; }
|
||||
public OperationBuilder<AddColumnOperation> EntityId { get; set; }
|
||||
public OperationBuilder<AddColumnOperation> Note { get; set; }
|
||||
public OperationBuilder<AddColumnOperation> Reason { get; set; }
|
||||
}
|
||||
30
Server/Migrations/ReportSystem/01000000_InitializeModule.cs
Normal file
30
Server/Migrations/ReportSystem/01000000_InitializeModule.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Oqtane.Databases.Interfaces;
|
||||
using Oqtane.Migrations;
|
||||
using SZUAbsolventenverein.Module.AdminModules.Migrations.EntityBuilders;
|
||||
using SZUAbsolventenverein.Module.AdminModules.Repository;
|
||||
|
||||
namespace SZUAbsolventenverein.Module.ReportSystem.Migrations
|
||||
{
|
||||
[DbContext(typeof(ReportingContext))]
|
||||
[Migration("SZUAbsolventenverein.Module.ReportSystem.01.00.00.00")]
|
||||
public class InitializeModule : MultiDatabaseMigration
|
||||
{
|
||||
public InitializeModule(IDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var entityBuilder = new ReportingEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
entityBuilder.Create();
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var entityBuilder = new ReportingEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
entityBuilder.Drop();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user