using System.Diagnostics; using Microsoft.AspNetCore.Mvc; using Aquila_1.Models; using Microsoft.AspNetCore.Identity; namespace Aquila_1.Controllers; public class AccountController : Controller { private readonly UserManager _userManager; private readonly SignInManager _signInManager; public AccountController(UserManager userManager, SignInManager signInManager) { _userManager = userManager; _signInManager = signInManager; } [HttpGet] public IActionResult Login() { return View(); } [HttpPost] public async Task Login(LoginViewModel model) { if (ModelState.IsValid) { var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, false); if (result.Succeeded) { var user = await _userManager.FindByEmailAsync(model.Email); if (await _userManager.IsInRoleAsync(user, "Admin")) { return RedirectToAction("AdminDashboard", "Home"); } return RedirectToAction("UserDashboard", "Home"); } ModelState.AddModelError(string.Empty, "Invalid login attempt."); } return View(model); } }