Exemplo n.º 1
0
        /// <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)));
            }
        }