22 lines
897 B
C#
22 lines
897 B
C#
using static PostFundManagement.Domain.Extensions.Constants;
|
|
|
|
namespace PostFundManagement.Domain.Entities;
|
|
|
|
[EntityTypeConfiguration<UserConfiguration, User>]
|
|
public sealed class User : Models.User;
|
|
|
|
public sealed class UserConfiguration : IEntityTypeConfiguration<User>
|
|
{
|
|
public void Configure(EntityTypeBuilder<User> builder)
|
|
{
|
|
builder.ToTable(nameof(User).Pluralize());
|
|
|
|
builder.HasKey(pk => pk.Id);
|
|
builder.Property(f => f.Email).IsRequired().HasMaxLength(LabelLength);
|
|
builder.Property(f => f.Role).IsRequired(false).HasMaxLength(LabelLength);
|
|
builder.Property(f => f.IdNumber).IsRequired(false).HasMaxLength(LabelLength);
|
|
builder.Property(f => f.Status).IsRequired().HasConversion<int>().HasDefaultValueSql("2")
|
|
.HasSentinel(ActivityStatus.Inactive);
|
|
builder.Property(f => f.LastLoginAt).IsRequired(false);
|
|
}
|
|
} |