public void GetGuiConfiguration()
        {
            GetGuiconfigurationUSER user = new GetGuiconfigurationUSER();

            user.UserId  = omsSessionContext.OMSLogicalUserId;
            user.LoginId = omsSessionContext.OMSLoginUserId;
            OMSConfigurationSection config = ConfigurationManager.GetSection("imi.supplychain.ux.modules.ordermanagement") as OMSConfigurationSection;

            user.PortNumber = config.HostPort;
            Imi.SupplyChain.Services.OrderManagement.Guiconfiguration.DataContracts.Response[] responseItems =
                GetGuiconfigurationService.GetGuiconfiguration(new GetGuiconfigurationUSER[] { user }, config.SendDomainUserId);

            if (responseItems.Count() > 0)
            {
                Imi.SupplyChain.Services.OrderManagement.Guiconfiguration.DataContracts.Response userConfig = responseItems[0];
                if (userConfig.Success)
                {
                    omsSessionContext.AutoStart            = userConfig.auto_start;
                    omsSessionContext.ClientProgram        = userConfig.clientprogram;
                    omsSessionContext.EnvironmentVariables = userConfig.env_vars;
                    omsSessionContext.Host                   = userConfig.host;
                    omsSessionContext.OMSLanguageCode        = userConfig.language;
                    omsSessionContext.Parameters             = userConfig.parameters;
                    omsSessionContext.Port                   = userConfig.port;
                    omsSessionContext.ServerProgram          = userConfig.program;
                    omsSessionContext.ServerWorkingDirectory = userConfig.working_directory;
                    omsSessionContext.SystemName             = userConfig.systemname;
                    omsSessionContext.HelpUrl                = userConfig.help_url;
                    omsSessionContext.DecimalKey             = userConfig.decimal_key;
                }
                else
                {
                    throw new Exception(userConfig.ErrorText);
                }
            }
        }
예제 #2
0
        public Response[] GetGuiconfiguration(GetGuiconfigurationUSER[] users, bool useDomainInUserID)
        {
            Authorizer authorizer = Authorizer.GetInstance();

            try
            {
                if (users == null || users.Length == 0)
                {
                    return(new Response[0]);
                }
                GetGuiconfigurationServiceReal.GetGuiconfigurationServiceClient client    = new GetGuiconfigurationServiceReal.GetGuiconfigurationServiceClient();
                GetGuiconfigurationServiceReal.GetGuiconfigurationUSER[]        realUsers = new GetGuiconfigurationServiceReal.GetGuiconfigurationUSER[users.Length];
                for (int i = 0; i < users.Length; i++)
                {
                    GetGuiconfigurationUSER user = users[i];
                    GetGuiconfigurationServiceReal.GetGuiconfigurationUSER realUser = new GetGuiconfigurationServiceReal.GetGuiconfigurationUSER();
                    if (user.LoginId == null)
                    {
                        return(errorResponse("loginId is null"));
                    }
                    else if (user.UserId == null)
                    {
                        return(errorResponse("userId may not be null"));
                    }
                    else if (!authorizer.IsAuthorized(user.LoginId, useDomainInUserID))
                    {
                        return(errorResponse("unauthorized query for login id: " + user.LoginId));
                    }
                    else if (!verifyLogicalUser(user.LoginId, user.UserId))
                    {
                        return(errorResponse("logical user: "******" is not connected to login id: " + user.LoginId));
                    }
                    realUser.UserId     = user.UserId;
                    realUser.PortNumber = user.PortNumber;
                    realUsers[i]        = realUser;
                }
                object[]   realObjects = client.GetGuiconfiguration(realUsers);
                int        n           = realObjects.Length;
                Response[] reponses    = new Response[n];
                for (int i = 0; i < n; i++)
                {
                    object   o        = realObjects[i];
                    Response response = new Response();
                    if (o is GetGuiconfigurationServiceReal.ResponseSuccess)
                    {
                        GetGuiconfigurationServiceReal.ResponseSuccess realSuccess = (GetGuiconfigurationServiceReal.ResponseSuccess)o;
                        response.auto_start        = realSuccess.auto_start;
                        response.clientprogram     = realSuccess.clientprogram;
                        response.env_vars          = realSuccess.env_vars;
                        response.help_url          = realSuccess.help_url;
                        response.host              = realSuccess.host;
                        response.language          = realSuccess.language;
                        response.parameters        = realSuccess.parameters;
                        response.port              = realSuccess.port;
                        response.program           = realSuccess.program;
                        response.systemname        = realSuccess.systemname;
                        response.decimal_key       = realSuccess.decimal_key;
                        response.working_directory = realSuccess.working_directory;
                        response.Success           = true;
                    }
                    else if (o is GetGuiconfigurationServiceReal.ResponseFailure)
                    {
                        GetGuiconfigurationServiceReal.ResponseFailure realFailure = (GetGuiconfigurationServiceReal.ResponseFailure)o;
                        response.ErrorText = realFailure.ErrorText;
                        response.Success   = false;
                    }
                    reponses[i] = response;
                }
                return(reponses);
            }
            catch (Exception e)
            {
                Console.WriteLine("got an Exception in GetGuiconfiguration: {0}", e.Message);
                throw new Exception("GetGuiconfiguration Exception", e);
            }
        }