Aurora.Services.WebAPIHandler.FindUsers C# (CSharp) Метод

FindUsers() приватный Метод

private FindUsers ( OSDMap map ) : OSDMap
map OSDMap
Результат OSDMap
        private OSDMap FindUsers(OSDMap map)
        {
            OSDMap resp = new OSDMap();
            IUserAccountService accountService = m_registry.RequestModuleInterface<IUserAccountService>();
            IAgentConnector agentConnector = Aurora.DataManager.DataManager.RequestPlugin<IAgentConnector>();
            if (accountService == null)
            {
                resp["Failed"] = new OSDString("Could not find IUserAccountService");
            }
            else if (agentConnector == null)
            {
                resp["Failed"] = new OSDString("Could not find IAgentConnector");
            }
            else
            {
                UUID scopeID = map.ContainsKey("ScopeID") ? map["ScopeID"].AsUUID() : UUID.Zero;
                uint start = map.ContainsKey("Start") ? map["Start"].AsUInteger() : 0;
                uint count = map.ContainsKey("Count") ? map["Count"].AsUInteger() : 10;
                string Query = map["Query"].AsString();
                List<UserAccount> accounts = accountService.GetUserAccounts(null, Query, start, count);

                OSDArray users = new OSDArray();
                MainConsole.Instance.TraceFormat("{0} accounts found", accounts.Count);
                foreach (UserAccount acc in accounts)
                {
                    OSDMap userInfo = new OSDMap();
                    userInfo["PrincipalID"] = acc.PrincipalID;
                    userInfo["UserName"] = acc.Name;
                    userInfo["Created"] = acc.Created;
                    userInfo["UserFlags"] = acc.UserFlags;
                    userInfo["UserLevel"] = acc.UserLevel;
                    IAgentInfo agent = agentConnector.GetAgent(acc.PrincipalID);
                    if (agent == null)
                    {
                        MainConsole.Instance.ErrorFormat("Could not get IAgentInfo for {0} ({1})", acc.Name, acc.PrincipalID);
                    }
                    userInfo["Flags"] = (agent == null) ? 0 : (int)agent.Flags;
                    users.Add(userInfo);
                }
                resp["Users"] = users;

                resp["Start"] = OSD.FromInteger(start);
                resp["Count"] = OSD.FromInteger(count);
                resp["Query"] = OSD.FromString(Query);
                resp["Total"] = OSD.FromInteger((int)accountService.NumberOfUserAccounts(null, Query));
            }

            return resp;
        }