39 lines
1.5 KiB
C#
39 lines
1.5 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
|
|
public static class DataSeeder
|
|
{
|
|
public static async Task SeedAsync(AppDbContext db)
|
|
{
|
|
if (await db.Users.AnyAsync()) return;
|
|
|
|
var users = new[]
|
|
{
|
|
CreateUser("intake1", "Intake Clerk 1", UserRole.IntakeClerk),
|
|
CreateUser("intake2", "Intake Clerk 2", UserRole.IntakeClerk),
|
|
CreateUser("entry1", "Entry Clerk 1", UserRole.DataEntryClerk),
|
|
CreateUser("entry2", "Entry Clerk 2", UserRole.DataEntryClerk),
|
|
CreateUser("verifier1", "Verifier 1", UserRole.Verifier),
|
|
CreateUser("verifier2", "Verifier 2", UserRole.Verifier),
|
|
CreateUser("approver1", "Clinical Approver 1", UserRole.ClinicalApprover),
|
|
CreateUser("approver2", "Clinical Approver 2", UserRole.ClinicalApprover),
|
|
CreateUser("clinician1", "Dr. Tanaka", UserRole.Clinician),
|
|
CreateUser("clinician2", "Dr. Chen", UserRole.Clinician),
|
|
CreateUser("admin1", "Administrator 1", UserRole.Administrator),
|
|
CreateUser("admin2", "Administrator 2", UserRole.Administrator),
|
|
};
|
|
|
|
db.Users.AddRange(users);
|
|
await db.SaveChangesAsync();
|
|
}
|
|
|
|
private static User CreateUser(string username, string fullName, UserRole role) => new()
|
|
{
|
|
Id = Guid.NewGuid(),
|
|
Username = username,
|
|
PasswordHash = BCrypt.Net.BCrypt.HashPassword("password"),
|
|
FullName = fullName,
|
|
Role = role,
|
|
IsActive = true,
|
|
CreatedAt = DateTimeOffset.UtcNow
|
|
};
|
|
} |