public IActionResult Register(LoginAndRegViewModel modelData)
        {
            Console.WriteLine("$$$$$$$$$$$$$$$$$WORKING$$$$$$$$$$$$$$$$$$$$");
            if(ModelState.IsValid)
            {
                User newUser = modelData.NewUser;
                if(dbContext.Users.Any(u => u.Email == newUser.Email))
                {
                    ModelState.AddModelError("Email", "Email already in use!");
                    return View("LoginAndRegPage");
                }
                PasswordHasher<User> Hasher = new PasswordHasher<User>();
                newUser.Password = Hasher.HashPassword(newUser, newUser.Password);
                dbContext.Add(newUser);
                dbContext.SaveChanges();
                HttpContext.Session.SetInt32("user_id", newUser.UserId);
                return RedirectToAction("Dashboard");
            }
            return View("LoginAndRegPage");

        }
 public IActionResult Login(LoginAndRegViewModel modelData)
 {
     if (ModelState.IsValid)
     {
         LoginCredentials loggeduser = modelData.LoggedUser;
         User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == loggeduser.Email);
         if (userInDb == null)
         {
             ModelState.AddModelError("Email", "Invalid Email/Password");
             return View("LoginAndRegPage");
         }
         var hasher = new PasswordHasher<LoginCredentials>();
         var result = hasher.VerifyHashedPassword(loggeduser, userInDb.Password, loggeduser.Password);
         if (result == 0)
         {
             ModelState.AddModelError("Password", "Invalid Email/Password");
             return View("LoginAndRegPage");
         }
         HttpContext.Session.SetInt32("user_id", userInDb.UserId);
         return RedirectToAction("Dashboard");
     }
     return View("LoginAndRegPage");
 }