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()); }