Editing: prjTwoFinApp


using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);

// ✅ SQL Server connection via appsettings.json builder.Services.AddDbContext(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));

var app = builder.Build();

// ✅ Navbar HTML string navbar = @"


";

// ✅ Home page app.MapGet("/", () => Results.Content($@" {navbar}

Welcome to the Home Page

", "text/html")); // ✅ Login form (GET) app.MapGet("/login", () => Results.Content($@" {navbar}

Login

<label>Username: <input name='username'/></label><br/><br/>
<label>Password: <input type='password' name='password'/></label><br/><br/>
<button type='submit'>Login</button>

", "text/html"));

// ✅ Login handler (POST) app.MapPost("/login", async (HttpRequest request, AppDbContext db) => { var form = await request.ReadFormAsync(); var username = form["username"].ToString(); var password = form["password"].ToString();

var user = await db.Users.FirstOrDefaultAsync(u => u.Username == username && u.Password == password);
if (user == null)
    return Results.Content("❌ Invalid credentials", "text/plain");

return Results.Content($"✅ Welcome back, {user.Username}!", "text/plain");

});

// ✅ Register form (GET) app.MapGet("/register", () => Results.Content($@" {navbar}

Register





", "text/html"));

// ✅ Register handler (POST) app.MapPost("/register", async (HttpRequest request, AppDbContext db) => { var form = await request.ReadFormAsync(); var username = form["username"].ToString(); var password = form["password"].ToString();

if (await db.Users.AnyAsync(u => u.Username == username))
    return Results.Content("⚠️ Username already exists", "text/plain");

db.Users.Add(new User { Username = username, Password = password });
await db.SaveChangesAsync();

return Results.Content($"✅ User {username} registered successfully!", "text/plain");

});

app.Run();

// ✅ Model and DbContext classes class User { public int Id { get; set; } public string Username { get; set; } = string.Empty; public string Password { get; set; } = string.Empty; }

class AppDbContext : DbContext { public AppDbContext(DbContextOptions options) : base(options) { }

public DbSet<User> Users => Set<User>();

}