public ActionResult Authorize(LoginModel loginModel)
        {
            ILoginRepo getUserRecord = new LoginRepo();
            LoginModel userRecord    = getUserRecord.ValidateUserLogin(loginModel.UserId);


            bool isUserPasswordValidated = ValidatePassword(userRecord, loginModel.Password);

            if (!isUserPasswordValidated)
            {
                loginModel.LoginErrorMessage = "Incorrect User ID or Password.";
                return(View("Login", loginModel));
            }

            if (IsAdminUser(userRecord))
            {
                Session["userID"]       = loginModel.UserId;
                Session["userFullName"] = userRecord.UserFullName;
                return(RedirectToAction("RegisterUser", "RegisterUser"));
            }

            Session["userID"]       = loginModel.UserId;
            Session["userFullName"] = userRecord.UserFullName;
            return(RedirectToAction("Index", "UserDashBoard"));
        }
        public ActionResult ForgotPassword(string userId)
        {
            string     message;
            ILoginRepo getUserRecord = new LoginRepo();
            LoginModel userRecord    = getUserRecord.ValidateUserLogin(userId);

            // Verify user ID
            if (userRecord.UserId != null)
            {
                IResetPasswordRepo resetPasswordRepo = new ResetPasswordRepo();

                // Generate OTP
                Random random = new Random();
                int    OTP    = random.Next(100000, 999999);

                // Store the OTP in DB
                string dbmsg = resetPasswordRepo.UpdateuserOTP(userRecord.UserId, OTP);

                // Send OTP in mail
                if (dbmsg == "success")
                {
                    NotifyUser.SendOTPToUser(userRecord.EmailId, OTP.ToString());
                    message         = "OTP sent to your Email";
                    ViewBag.Message = message;
                    //return View();
                    return(RedirectToAction("ResetPassword", "ResetPassword"));
                }
                else
                {
                    message         = "OTP was not sent to the user";
                    ViewBag.Message = message;
                    return(View());
                }
            }
            else
            {
                message         = "User not found";
                ViewBag.Message = message;
                return(View());
            }
        }