public void CheckRoles(out string friendlyMessage, Source source, UserType user, string username) { try { bool dummy = false, owner = false, canRead = false, canWrite = false; bool hasAccessAdmin = false, hasDDLAdmin = false, hasSecurityAdmin = false; var config = ((PlatformDatabaseConfiguration)uiConfiguration).RuntimeDatabaseConfiguration(source, user); try { ConfigurationManagerUtils.GetDBUserRoles(username, ref dummy, ref owner, ref canRead, ref canWrite, ref hasAccessAdmin, ref hasDDLAdmin, ref hasSecurityAdmin, config); switch (user) { case UserType.Admin: if (!owner) { if (!ConfigurationManagerUtils.CheckDBAdminRoles(username, hasAccessAdmin, hasSecurityAdmin, hasDDLAdmin, canRead, canWrite, out friendlyMessage)) { return; } } break; case UserType.Runtime: if (!owner) { ConfigurationManagerUtils.CheckDBPlatformRuntimeRoles(username, canRead, canWrite, out friendlyMessage); if (!friendlyMessage.IsNullOrEmpty()) { return; } } break; } if (!ConfigurationManagerUtils.CheckHubServerVersion(this, config, out friendlyMessage)) { return; } } catch { friendlyMessage = "Database connection was successful.\r\n\r\nHowever, it was not possible to read the schema version. This may be because the schema has not been created yet."; return; } } catch (Exception exception) { friendlyMessage = "Database connection was successful.\r\n\r\nHowever the following error ocurred while trying to read user permissions:\r\n\r\nFailed to retrieve user roles:\r\n\r\n" + exception.Message; return; } friendlyMessage = "Test completed successfully."; }