예제 #1
0
        public virtual object[] GetExtServerOfType(HttpContext context)
        {
            YZRequest request = new YZRequest(context);

            string[]          strServerTypes = request.GetString("serverTypes").Split(';');
            List <ServerType> serverTypes    = new List <ServerType>();

            foreach (string strServerType in strServerTypes)
            {
                ServerType serverType;
                if (!String.IsNullOrEmpty(strServerType) && Enum.TryParse <ServerType>(strServerType, true, out serverType))
                {
                    serverTypes.Add(serverType);
                }
            }

            ExtServerCollection extServers;

            using (BPMConnection cn = new BPMConnection())
            {
                cn.WebOpen();
                extServers = cn.GetExtServers();
            }

            List <object> rv = new List <object>();

            foreach (ServerType serverType in serverTypes)
            {
                switch (serverType)
                {
                case ServerType.DataSourceServer:
                    rv.Add(new
                    {
                        Name = "Default"
                    });
                    break;
                }

                foreach (ExtServer extServer in extServers)
                {
                    if (extServer.ServerType != serverType)
                    {
                        continue;
                    }

                    rv.Add(new
                    {
                        Name = extServer.Name
                    });
                }
            }

            return(rv.ToArray());
        }