Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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());
        }