/// <summary> /// Perform Username Association /// </summary> /// <param name="corpUserName"></param> /// <param name="corpPassword"></param> /// <param name="simplUserName"></param> /// <param name="simplPassword"></param> public void PerformAssociation(string corpUserName, string corpPassword, string simplUserName, string simplPassword) { var corpAuthResult = AttemptToLogUserIn(corpUserName, corpPassword).Message; if (corpAuthResult != Constants.Areas.Common.LoginModel.AuthenticationResultMessages.NoUserRoles) { throw new ArgumentException("Corp login credentials are incorrect"); } var simplAuthResult = AttemptToLogUserIn(simplUserName, simplPassword); if (simplAuthResult.Errors) { throw new ArgumentException("SIMPL login credentials are incorrect"); } var myUserManagement = new UserManagement(); var updateResult = myUserManagement.UpdateUsername(simplUserName, corpUserName); if (updateResult == UserManagement.UpdateUsernameResult.Failed) { var errorMessage = string.Format("Username Association Failed - SIMPL Username {0} | CORP Username {1}", simplUserName, corpUserName); throw new Exception(errorMessage); } if (!_userRepository.UpdateHistoricalRecord(corpUserName, simplUserName)) { _errorLogger.LogError(new Exception(string.Format("Historical records failed to update for SIMPL user: {0} to Corp Id:{1}",simplUserName,corpUserName))); } }