using System; 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 DeletableBaseEntityBuilder : BaseEntityBuilder where TEntityBuilder : BaseEntityBuilder { protected DeletableBaseEntityBuilder(MigrationBuilder migrationBuilder, IOqtaneDatabase database) : base(migrationBuilder, database) { } protected void AddDeletableColumns(ColumnsBuilder table) { DeletedBy = table.AddStringColumn("DeletedBy", 256, true); DeletedOn = table.AddDateTimeColumn("DeletedOn", true); IsDeleted = table.AddBooleanColumn("IsDeleted"); } public OperationBuilder DeletedBy { get; private set; } public OperationBuilder DeletedOn { get; private set; } public OperationBuilder IsDeleted { get; private set; } } }