using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations.Operations; using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; using Oqtane.Databases.Interfaces; using Oqtane.Interfaces; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable MemberCanBePrivate.Global namespace Oqtane.Migrations.EntityBuilders { public abstract class DeletableBaseEntityBuilder : BaseEntityBuilder where TEntityBuilder : BaseEntityBuilder { protected DeletableBaseEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database) { } protected void AddDeletableColumns(ColumnsBuilder table) { DeletedBy = AddStringColumn(table,"DeletedBy", 256, true); DeletedOn = AddDateTimeColumn(table,"DeletedOn", true); IsDeleted = AddBooleanColumn(table,"IsDeleted"); } public OperationBuilder DeletedBy { get; private set; } public OperationBuilder DeletedOn { get; private set; } public OperationBuilder IsDeleted { get; private set; } } }