using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations.Operations; using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; using Oqtane.Interfaces; using Oqtane.Migrations.Extensions; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable MemberCanBePrivate.Global namespace Oqtane.Migrations.EntityBuilders { public abstract class AuditableBaseEntityBuilder : BaseEntityBuilder where TEntityBuilder : BaseEntityBuilder { protected AuditableBaseEntityBuilder(MigrationBuilder migrationBuilder, IOqtaneDatabase database) : base (migrationBuilder, database) { } protected void AddAuditableColumns(ColumnsBuilder table) { CreatedBy = table.AddStringColumn("CreatedBy", 256); CreatedOn = table.AddDateTimeColumn("CreatedOn"); ModifiedBy = table.AddStringColumn("ModifiedBy", 256); ModifiedOn = table.AddDateTimeColumn("ModifiedOn"); } public OperationBuilder CreatedBy { get; private set; } public OperationBuilder CreatedOn { get; private set; } public OperationBuilder ModifiedBy { get; private set; } public OperationBuilder ModifiedOn { get; private set; } } }