public static GrantedSysPrivilege LoadPrivilege(OracleDataReader odr) { bool adminOption; ESysPrivilegeEnumConverter privConverter = new ESysPrivilegeEnumConverter(); // load admin option if (odr.IsDBNull(odr.GetOrdinal("admin_option"))) { adminOption = false; } else { string boolStr = odr.GetString(odr.GetOrdinal("admin_option")); if (boolStr.ToLowerInvariant().Equals("yes")) { adminOption = true; } else if (boolStr.ToLowerInvariant().Equals("no")) { adminOption = false; } else { adminOption = false; } } // create new grant return(new GrantedSysPrivilege( odr.GetString(odr.GetOrdinal("grantee")), (ESysPrivilege)privConverter.ConvertBack(odr.GetString(odr.GetOrdinal("privilege")), typeof(ESysPrivilege), null, System.Globalization.CultureInfo.CurrentCulture), true, adminOption)); }
public static string prepareGrantStatement(GrantedSysPrivilege grant) { ESysPrivilegeEnumConverter converter = new ESysPrivilegeEnumConverter(); StringBuilder sb = new StringBuilder(); sb.AppendFormat("GRANT {0} TO {1}", converter.Convert(grant.Privilege, typeof(string), null, null), grant.Grantee); if (grant.AdminOption) { sb.Append(" WITH ADMIN OPTION"); } return(sb.ToString()); }