public UserInfor GetUserInforLogin(UserLogin userLogin) { var userInfor = new UserInfor(); var user = _userLoginRepository.GetSingleByCondition(x => x.Username == userLogin.Username); if (user == null) { return(null); } else { var passwordDecrypt = CommonUltils.DecryptStringAES(userLogin.Password); var validPw = CommonUltils.VerifyPasswordHash(passwordDecrypt, user.PasswordHash, user.PasswordSalt); if (validPw == false) { return(null); } else { string[] includes = new string[1] { "Role" }; userInfor = _userRepository.GetSingleByCondition(x => x.UserId == user.UserId, includes); } } return(userInfor); }
public ServiceResponse UpdatePassword(int currentUserID, string oldPw, string newPw) { ServiceResponse result = new ServiceResponse(); var userLogin = _userLoginRepository.GetSingleById(currentUserID); if (userLogin != null) { var oldPwDecrypt = CommonUltils.DecryptStringAES(oldPw); var newPwDecrypt = CommonUltils.DecryptStringAES(newPw); var validPw = CommonUltils.VerifyPasswordHash(oldPwDecrypt, userLogin.PasswordHash, userLogin.PasswordSalt); if (validPw) { userLogin.Password = newPwDecrypt; CommonUltils.CreatePasswordHash(newPwDecrypt, out byte[] passwordHash, out byte[] passwordSalt); userLogin.PasswordHash = passwordHash; userLogin.PasswordSalt = passwordSalt; userLogin.IsFirstTimeLogin = 1; _userLoginRepository.Update(userLogin); this.Save(); result.OnSuccess(null); } else { result.OnError("Old password incorrect", 10); } } else { result.OnError("Cannot find User", 11); } return(result); }