public int ValidateLogonUser(int count, UserDetails userDetails, LogonUser logonUser, LogonUserSession logonUserSession) { int no_of_attempts = 0; int days = 0; byte status; try { UserLogonData userLogon = new UserLogonData(); if (count == 1) { // if (ds.Tables[0].Rows.Count > 0) //1 => pass 2=> failed 3 => locked 4 => 90 days pwd expired 5 => first time login 6 => Forget pwd DateTime curDate = DateTime.Now; TimeSpan ts = curDate.Date - userDetails.LastPwdChange; status = userDetails.Status; days = ts.Days; no_of_attempts = (string.IsNullOrEmpty(userDetails.NoOfAttempts.ToString())) ? 0 : Int32.Parse(userDetails.NoOfAttempts.ToString()); encryptSha1 obj = new encryptSha1(); logonUser.TempPassword = obj.GetSHA1HashData(logonUser.Password + userDetails.UserId); // logonUser.TempPassword = userDetails.DBPassword; if (logonUser.TempPassword == userDetails.DBPassword) { logonUserSession.MENURANGE = userDetails.MenuRange; logonUserSession.USERID = userDetails.UserId; logonUserSession.CURRENTPASSWORD = userDetails.DBPassword; logonUserSession.PASSWORDCOUNT = userDetails.PasswordCount; logonUserSession.STATUS = userDetails.Status; logonUserSession.FIRSTNAME = userDetails.Firstname; logonUserSession.LASTNAME = userDetails.Lastname; logonUserSession.USERROLE = userDetails.RoleId; //logonUserSession.DEPARTMENT = userDetails.DepartmentId; logonUserSession.ROLENAME = userDetails.RoleName; logonUserSession.ROLEID = userDetails.RoleId; SessionHelper.LogonUser = logonUserSession; if (userDetails.Locked == true) { return(3); } else if (ts.Days > userDetails.PwdChangeDays) { //userLogon.UpdateStatus(userDetails.UserId, userDetails.Status, resource.GetResource("~/Views/Logon.cshtml", "PASS_EXPIRED")); userLogon.UpdateStatus(userDetails.UserId, userDetails.Status, "Password expired"); logonUserSession.STATUS = Status.PWDEXPIRED; logonUserSession.EXPIREDDAYS = ts.Days.ToString(); SessionHelper.LogonUser = logonUserSession; return(4); } else if (status == Status.FIRSTLOGIN) { // userLogon.AddAudit(userDetails.UserId, resource.GetResource("~/Views/Logon.cshtml", "Login successfully")); userLogon.AddAudit(userDetails.UserId, "Login successfully"); return(5); } else if (status == Status.FORGETPWD) { return(6); } else if (no_of_attempts <= userDetails.MaxAttemps) { userLogon.UpdateUserAttempts(userDetails.UserId, 0); return(1); } else { return(2); } } else { if (status != Status.FIRSTLOGIN) { if (no_of_attempts == userDetails.MaxAttemps) { //userLogon.UpdateLockUser(userDetails.UserId, Status.NO_OF_ATM_LOCKED, resource.GetResource("~/Views/Logon.cshtml", "USER_LOCK")); userLogon.UpdateLockUser(userDetails.UserId, Status.NO_OF_ATM_LOCKED, "User locked for no of attempts"); logonUserSession.STATUS = Status.NO_OF_ATM_LOCKED; SessionHelper.LogonUser = logonUserSession; return(3); } else { no_of_attempts = ++no_of_attempts; userLogon.UpdateUserAttempts(userDetails.UserId, no_of_attempts); return(2); } } else { userLogon.AddAudit(userDetails.UserId, "Login failed"); return(2); } } } else if (userDetails.Status == 8 && userDetails.Active == 0) { return(8); } else { // userLogon.UpdateAnonymsAttempts(resource.GetResource("~/Views/Logon.cshtml", "ANON_ATTEMPT")); userLogon.UpdateAnonymsAttempts("Anonymous attempt"); return(2); } } catch (Exception ex) { BaseExceptionHandler.HandleException(ref ex); } return(2); }