using Aquila_1.Data; using Aquila_1.Models; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddDbContext(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"))); builder.Services.AddIdentity() .AddEntityFrameworkStores(); builder.Services.AddControllersWithViews(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); // Seed initial admin user using (var scope = app.Services.CreateScope()) { var roleManager = scope.ServiceProvider.GetRequiredService>(); var userManager = scope.ServiceProvider.GetRequiredService>(); // Create roles await roleManager.CreateAsync(new IdentityRole("Admin")); await roleManager.CreateAsync(new IdentityRole("User")); // Create admin user var admin = new ApplicationUser { UserName = "admin@example.com", Email = "admin@example.com", FirstName = "Admin", LastName = "User" }; await userManager.CreateAsync(admin, "Admin123!"); await userManager.AddToRoleAsync(admin, "Admin"); } app.Run();