public IActionResult Login_process(RegisterNLogin model)
        {
            var modelInfo = model.loginUser;

            if (ModelState.IsValid)
            {
                var databaseUser = dbContext.Users.FirstOrDefault(theloginUser => theloginUser.email == modelInfo.LoginEmail);
                if (databaseUser != null)
                {
                    var hasher = new PasswordHasher <LoginUser>();
                    var result = hasher.VerifyHashedPassword(modelInfo, databaseUser.password, modelInfo.LoginPassword);
                    if (result != 0)
                    {
                        HttpContext.Session.SetInt32("user_id", databaseUser.user_id);
                        return(RedirectToAction("Dashboard"));
                    }

                    ModelState.AddModelError("loginUser.LoginEmail", "Invalid Email or Password");
                    return(View("index"));
                }

                ModelState.AddModelError("loginUser.LoginEmail", "Invalid Email or Password");
                return(View("index"));
            }

            return(View("index"));
        }
        public IActionResult Register_process(RegisterNLogin model)
        {
            var modelInfo = model.registerUser;

            if (ModelState.IsValid)
            {
                if (dbContext.Users.Any(theuser => theuser.email == modelInfo.email))
                {
                    ModelState.AddModelError("registerUser.email", "Email already Exist");
                    return(View("registration"));
                }

                var hasher = new PasswordHasher <User>();
                modelInfo.password = hasher.HashPassword(modelInfo, modelInfo.password);
                dbContext.Users.Add(modelInfo);
                dbContext.SaveChanges();
                HttpContext.Session.SetInt32("user_id", modelInfo.user_id);

                return(RedirectToAction("Dashboard"));
            }

            return(View("index"));
        }