/// <summary> /// List databases the user with given number is currently logged into. /// </summary> /// <param name="userNr">The user number (identifier) for the user in question</param> /// <returns>A JSON array string of the database names</returns> private String ListDatabaseLoggedInto(int userNr) { String result = "["; IEnumerator logins = root.Logins.GetEnumerator(); while (logins.MoveNext()) { dboLogin login = logins.Current as dboLogin; // Logged in, but no database open if (root.InstalledDbs[login.DbNr] == null) { continue; } // Find/Add name of database opened else if (login.UserNr == userNr) { result += "\"" + root.InstalledDbs[login.DbNr].ID + "\","; } } // Remove last comma and add missing bracket before return if (result.Length > 1) { result = result.Substring(0, result.Length - 1); } return(result + "]"); }
/// <summary> /// Checks whether a given user in currently logged in /// </summary> /// <param name="root">Database access object</param> /// <param name="userNr">The user number (identifier) for the user in question</param> /// <returns>A specific string constant to indicate that the user is offline or /// the exact time point at which the user did log in.</returns> private String IsUserLoggedIn(int userNr) { IEnumerator logins = root.Logins.GetEnumerator(); while (logins.MoveNext()) { dboLogin login = logins.Current as dboLogin; if (login.UserNr == userNr) { return(login.LoginTime.ToString()); } } return(OFFLINE); }