private static async Task EnsureExamStatusesCreated(IServerExamStatusService service) { FieldInfo[] roles = typeof(ExamStatuses).GetFields(BindingFlags.Public | BindingFlags.Static).Where(f => f.IsLiteral && !f.IsInitOnly).ToArray(); foreach (FieldInfo role in roles) { if (role.GetValue(null) is string statusString) { await service.CreatStatusAsync(statusString); } } }
public static async void SeedDatabaseAsync(this IApplicationBuilder app) { IServiceScope localscope = app.ApplicationServices.GetRequiredService <IServiceScopeFactory>().CreateScope(); using (localscope) { UserManager <User> userManager = localscope.ServiceProvider.GetRequiredService <UserManager <User> >(); RoleManager <IdentityRole> roleManager = localscope.ServiceProvider.GetRequiredService <RoleManager <IdentityRole> >(); IServerVisitStatusService visitStatusService = localscope.ServiceProvider.GetRequiredService <IServerVisitStatusService>(); IServerExamStatusService examStatusService = localscope.ServiceProvider.GetRequiredService <IServerExamStatusService>(); IServerQualificationService qualificationService = localscope.ServiceProvider.GetRequiredService <IServerQualificationService>(); await EnsureRolesCreated(roleManager); await EnsureAdminCreated(userManager); await EnsureVisitStatusesCreated(visitStatusService); await EnsureExamStatusesCreated(examStatusService); await EnsureQualificationsCreated(qualificationService); } }