Exemple #1
0
        public GenericResponse <AHP.Core.Model.BOUserSessionInfo> GetUserSessionInfo(string token)
        {
            GenericResponse <AHP.Core.Model.BOUserSessionInfo> response = new GenericResponse <BOUserSessionInfo>();

            try
            {
                if (string.IsNullOrEmpty(token))
                {
                    response.Success = false;
                    response.Errors.Add("Please supply a logon token to retrieve user session info");
                    return(response);
                }

                using (SessionPortClient objClient = new SessionPortClient("BOSession"))
                {
                    _logMessages.Append("Retrieving session information for the user on providing a token.");
                    SessionInfo usrSesInfo = objClient.loginWithToken(token, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty);
                    if (usrSesInfo == null)
                    {
                        response.Success = false;
                        response.Errors.Add("Session information is not available.");
                    }
                    else
                    {
                        _logMessages.Append("Successfully retrieved user session information.");
                        response.Data = new BOUserSessionInfo()
                        {
                            DefaultToken       = usrSesInfo.DefaultToken,
                            MustChangePassword = usrSesInfo.MustChangePassword,
                            SerializedSession  = usrSesInfo.SerializedSession,
                            SessionId          = usrSesInfo.SessionID,
                            UserCUID           = usrSesInfo.UserCUID
                        };
                        response.Success = true;
                    }
                }
            }
            catch (System.Exception ex)
            {
                response.Success = false;
                response.Errors.Add("Unable to retrieve session information for the user");
                _logMessages.AppendFormat("Error occurred in getting session information. Exception message {0}.", ex.Message);
                _logger.Info(_logMessages.ToString());
            }
            _logger.Info(_logMessages.ToString());
            return(response);
        }