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.PremiumArea.Migrations.EntityBuilders { public class UserPremiumEntityBuilder : AuditableBaseEntityBuilder { private const string _entityTableName = "SZUAbsolventenvereinUserPremium"; private readonly PrimaryKey _primaryKey = new("PK_SZUAbsolventenvereinUserPremium", x => x.Id); public UserPremiumEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database) { EntityTableName = _entityTableName; PrimaryKey = _primaryKey; } protected override UserPremiumEntityBuilder BuildTable(ColumnsBuilder table) { Id = AddAutoIncrementColumn(table, "Id"); UserId = AddIntegerColumn(table, "UserId"); PremiumUntil = AddDateTimeColumn(table, "PremiumUntil", true); Source = AddStringColumn(table, "Source", 50); AddAuditableColumns(table); return this; } public OperationBuilder Id { get; set; } public OperationBuilder UserId { get; set; } public OperationBuilder PremiumUntil { get; set; } public OperationBuilder Source { get; set; } } }