Beispiel #1
0
        public ActionResult LogOn(LogonUser logonUser, string UserName)
        {
            //1 => pass 2=> failed  3 =>  locked   4 => 90 days pwd expired   5 => first time login 6 => Forget pwd
            LogonUserSession logonUserSession = new LogonUserSession();

            try
            {
                int status = 0;
                if (ModelState.IsValid)
                {
                    UserLogonData userLogon = new UserLogonData();

                    UserDetails userDetails = userLogon.GetUserDeatils(logonUser);

                    if (userDetails.Active != 0 && userDetails.UserId > 0)
                    {
                        status = ValidateLogonUser(1, userDetails, logonUser, logonUserSession);
                    }
                    else
                    {
                        status = ValidateLogonUser(0, userDetails, logonUser, logonUserSession);
                    }


                    if (status == 1)
                    {
                        logonUserSession.USERNAME = logonUser.UserName;


                        DataTable dt = userLogon.GetEmployeeId(userDetails.UserId);

                        Session["Username"]     = userDetails.Firstname + " " + userDetails.Lastname;
                        Session["EmployeeId"]   = dt.Rows[0]["Employee_Id"].ToString();
                        Session["DepartmentId"] = dt.Rows[0]["DepartmentId"].ToString();
                        Session["UserID"]       = userDetails.UserId;
                        Session["Gender"]       = dt.Rows[0]["Gender"].ToString();

                        Int64 roleid = userDetails.RoleId;;
                        Session["RoleId"] = userDetails.RoleId;
                        Session["MyRole"] = dt.Rows[0]["ROLE_NAME"].ToString();


                        SessionHelper.LogonUser = logonUserSession;

                        //SessionHelper.IPAddress = WebClientBase.GetIPAddress(HttpContext.Request);
                        //SessionHelper.BrowserName = WebClientBase.GetBrowserTypeAndVersion(HttpContext.Request);


                        return(Redirect(GetHomeUrl()));
                    }
                    else if (status == 3)
                    {
                        if ((byte.Parse(logonUserSession.STATUS.ToString())) == Status.NO_OF_ATM_LOCKED)
                        {
                            logonUser.Message = "User locked for no of attempts";
                        }
                        else
                        {
                        }
                    }
                    else if (status == 5)
                    {
                        logonUserSession.TEMPUSERNAME = logonUser.UserName;// if first login after enter sec qns then assign to Session[Status.USERNAME]
                        SessionHelper.LogonUser       = logonUserSession;
                        return(RedirectToAction("SecurityQuestions", "Account"));
                    }



                    else if (status == Status.PWDEXPIRED || status == Status.FORGETPWD)
                    {
                        logonUserSession.TEMPUSERNAME = logonUser.UserName;// if AFTER 90DAYS login after CHANGE PWD then assign to Session[Status.USERNAME]
                        SessionHelper.LogonUser       = logonUserSession;
                        return(RedirectToAction("ForgetChangePassword", "Account"));
                    }
                    else if (status == 2)
                    {
                        logonUser.Message = "The username or password you entered is incorrect.";
                    }
                    else if (status == 8)
                    {
                        logonUser.Message = "User Account is Deactivated";
                    }
                    else
                    {
                    }
                }

                return(View(logonUser));
            }
            catch (Exception ex)
            {
                BaseExceptionHandler.HandleException(ref ex);
            }
            return(View(logonUser));
        }