* Maintain DataModel for User, Role, Function and UserRole

This commit is contained in:
2025-02-20 05:20:30 +01:00
parent c2078d1614
commit cd5990039d
21 changed files with 740 additions and 1 deletions

View File

@@ -25,6 +25,11 @@ public class OrdersManagementDbContext : DbContext
public DbSet<TaskScheduler> TaskSchedulers { get; set; }
public DbSet<TaskSchedulerDetail> TaskSchedulerDetails { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<Function> Functions { get; set; }
public DbSet<UserRole> UserRoles { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@@ -67,5 +72,80 @@ public class OrdersManagementDbContext : DbContext
.HasForeignKey(d => d.FkTaskScheduler)
.HasConstraintName("FK_TaskSchedulerDetails_TaskScheduler");
});
modelBuilder.Entity<User>(entity =>
{
entity.ToTable("User");
entity.HasKey(e => e.Id);
entity.Property(e => e.Id).HasColumnName("Id");
entity.Property(e => e.Login).HasColumnName("Login").HasMaxLength(50).IsRequired();
entity.Property(e => e.PasswordHash).HasColumnName("PasswordHash").HasMaxLength(256).IsRequired();
entity.Property(e => e.IsTemporaryPassword).HasColumnName("IsTemporaryPassword").IsRequired();
entity.Property(e => e.IsActive).HasColumnName("IsActive").IsRequired();
entity.Property(e => e.ActiveFrom).HasColumnName("ActiveFrom");
entity.Property(e => e.ActiveTo).HasColumnName("ActiveTo");
entity.Property(e => e.Email).HasColumnName("Email").HasMaxLength(100);
entity.Property(e => e.FirstName).HasColumnName("FirstName").HasMaxLength(50);
entity.Property(e => e.LastName).HasColumnName("LastName").HasMaxLength(50);
entity.Property(e => e.CreatedDate).HasColumnName("CreatedDate").IsRequired();
entity.Property(e => e.LastLoginDate).HasColumnName("LastLoginDate");
entity.Property(e => e.FailedLoginAttempts).HasColumnName("FailedLoginAttempts").IsRequired();
entity.Property(e => e.IsLocked).HasColumnName("IsLocked").IsRequired();
entity.Property(e => e.LockoutEndDate).HasColumnName("LockoutEndDate");
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").IsRequired();
});
// Konfiguracja dla Role (już zdefiniowana wcześniej)
modelBuilder.Entity<Role>(entity =>
{
entity.ToTable("Role");
entity.HasKey(e => e.Id);
entity.Property(e => e.Id).HasColumnName("Id");
entity.Property(e => e.Name).HasColumnName("Name").HasMaxLength(50).IsRequired();
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").IsRequired();
});
// Konfiguracja dla Function (już zdefiniowana wcześniej)
modelBuilder.Entity<Function>(entity =>
{
entity.ToTable("Function");
entity.HasKey(e => e.Id);
entity.Property(e => e.Id).HasColumnName("Id");
entity.Property(e => e.RoleId).HasColumnName("RoleId").IsRequired();
entity.Property(e => e.Name).HasColumnName("Name").HasMaxLength(100).IsRequired();
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").IsRequired();
entity.HasOne(e => e.Role)
.WithMany()
.HasForeignKey(e => e.RoleId)
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_Function_Role");
});
// Konfiguracja dla UserRole
modelBuilder.Entity<UserRole>(entity =>
{
entity.ToTable("UserRole");
entity.HasKey(e => new { e.UserId, e.RoleId });
entity.Property(e => e.UserId).HasColumnName("UserId").IsRequired();
entity.Property(e => e.RoleId).HasColumnName("RoleId").IsRequired();
entity.Property(e => e.RowPointer).HasColumnName("RowPointer").IsRequired();
entity.HasOne(e => e.User)
.WithMany()
.HasForeignKey(e => e.UserId)
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_UserRole_User");
entity.HasOne(e => e.Role)
.WithMany()
.HasForeignKey(e => e.RoleId)
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_UserRole_Role");
});
}
}