Files
vigilcare-records/VigilCareRecordsAPI/Data/Seed/DataSeeder.cs
T
2026-06-26 04:20:20 +08:00

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
};
}