public ActionResult Login(LoginViewModel loginViewModel) { try { if (ModelState.IsValid) { if (!_iUserMaster.CheckUsernameExists(loginViewModel.Username)) { TempData["LoginErrors"] = "Invalid Credentials"; return(View(loginViewModel)); } var usermasterModel = _iUserMaster.GetUserByUsername(loginViewModel.Username); if (usermasterModel != null) { if (usermasterModel.Status == false) { TempData["LoginErrors"] = "User Account is Deactivated Please Contact Admin"; return(View(loginViewModel)); } var usersalt = _iUserMaster.GetUserSaltbyUserid(Convert.ToInt64(usermasterModel.UserId)); if (usersalt == null) { TempData["LoginErrors"] = "Entered Username or Password is Invalid"; return(View()); } var storedpassword = _password.GetPasswordbyUserId(usermasterModel.UserId); if (storedpassword == null) { TempData["LoginErrors"] = "Invalid Credentials"; return(View(loginViewModel)); } var generatehash = GenerateHashSha512.Sha512(loginViewModel.Password, usersalt.PasswordSalt); if (string.Equals(storedpassword, generatehash, StringComparison.Ordinal)) { if (_savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId) != null) { var rolesModel = _savedAssignedRoles.GetAssignedRolesbyUserId(usermasterModel.UserId); if (rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.User)) { if (!_verification.CheckIsEmailVerifiedRegistration(usermasterModel.UserId)) { TempData["LoginErrors"] = "Please Verify Your Email-Id to Use Application"; return(View(loginViewModel)); } ApplicationCustomSettings applicationCustomSettings = new ApplicationCustomSettings(); if (applicationCustomSettings.GetGeneralSetting().EnableEmailFeature&& _verify.CheckVerificationCodeExists(usermasterModel.UserId)) { TempData["LoginErrors"] = "Please Verify Your Email-Id to Use Application"; return(View(loginViewModel)); } } if (rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.Agent) || rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.AgentAdmin) || rolesModel.RoleId == Convert.ToInt32(StatusMain.Roles.Hod)) { if (!IsCategogryAssigned(usermasterModel, rolesModel)) { TempData["LoginErrors"] = "Category is not Assigned, Please contact your administrator"; return(View(loginViewModel)); } } if (usermasterModel.IsFirstLogin) { Session["ChangePasswordUserId"] = usermasterModel.UserId; Session["ChangeRoleId"] = rolesModel.RoleId; return(RedirectToAction("ChangePassword", "Force")); } AssignSessionValues(usermasterModel, rolesModel); return(RedirectionManager(usermasterModel, rolesModel)); } else { TempData["LoginErrors"] = "Access Not Assigned"; return(View(loginViewModel)); } } else { TempData["LoginErrors"] = "Invalid Credentials"; return(View(loginViewModel)); } } else { TempData["LoginErrors"] = "Invalid Credentials"; return(View(loginViewModel)); } } else { return(View(loginViewModel)); } } catch (Exception) { throw; } }