示例#1
0
        internal String Generate()
        {
            // Re-read login status
            root.Logins.ReadAll();

            String result = "[";

            // Put all users into result list
            IEnumerator users = root.InstalledUsers.GetEnumerator();

            while (users.MoveNext())
            {
                dboInstalledUser user = users.Current as dboInstalledUser;
                // Do not include service users
                if (!user.DenyInteractiveLogon)
                {
                    result += "{\"name\": \"" + user.Name + "\", " +
                              "\"loggedIn\": \"" + IsUserLoggedIn(user.UserNr) + "\", " +
                              "\"databases\": " + ListDatabaseLoggedInto(user.UserNr) + ", " +
                              "\"lastSeenOnline\": \"" + user.LoginDate.ToString() + "\"},";
                }
            }

            // Remove last comma and add missing bracket before return
            return(result.Substring(0, result.Length - 1) + "]");
        }
        private String GetUserName(String userId)
        {
            if (userNameCache.Get(userId) != null && userNameCache.Get(userId).Length > 0)
            {
                return(userNameCache.Get(userId));
            }

            IEnumerator users = root.InstalledUsers.GetEnumerator();

            while (users.MoveNext())
            {
                dboInstalledUser user = users.Current as dboInstalledUser;
                if (user.ID.Equals(userId))
                {
                    userNameCache.Add(userId, user.Name);
                    return(user.Name);
                }
            }

            return(userId);
        }