コード例 #1
0
        public override Expression CallFunc(FunctionMeta Name, IEnumerable <Expression> Parameters)
        {
            var Info = (AssemblyFunction)Name.Information;

            return(Expression.Invoke(
                       Expression.MakeMemberAccess(null, Info.DelegateField),
                       Parameters));
        }
コード例 #2
0
 public void SetStatusContent(string content, int status, byte[] rawBytes)
 {
     this.StatusCode = status;
     this.Content    = content;
     if (status < 300)
     {
         this.Data = JsonConvert.DeserializeObject <FunctionMeta>(this.Content);
     }
 }
コード例 #3
0
 public override Expression CallFunc(FunctionMeta Name, IEnumerable <Expression> Parameters)
 {
     //Functions[Name]
     //var Info = (AssemblyFunction)Name.Information;
     return(Expression.Invoke(
                Expression.MakeIndex(
                    Expression.MakeMemberAccess(
                        ThisAccess
                        , FunctionsField),
                    FunctionsField.FieldType.GetRuntimeProperty("Item"),
                    new Expression[] { Expression.Constant(Name.Name, typeof(string)) }),
                Parameters));
 }
コード例 #4
0
        protected FunctionMeta BuildFunction(SQLUserDefinedFunction udfDef, ref ArrayList grantList, ref ArrayList denyList)
        {
            if (ValidateVersion(udfDef) == DDLActionEnum.NONE)  // not in range!
            {
                return(null);
            }

            // Always treated as rebuild or create...
            //			FunctionMeta funcTmp = new FunctionMeta( udfDef.FunctionName, udfDef.ReturnValue.ToString() );
            FunctionMeta funcTmp = new FunctionMeta(udfDef.FunctionName, DataTypeEnum.NUMERIC, _context);

            //funcTmp.DDLBodyText = udfDef..ToString();
            foreach (SQLStoredProcedureParameter param in udfDef.Parameters)
            {
                ParameterMeta pramMeta = new ParameterMeta(param.Name, param.DataType, param.ParameterDirection, _dtMap);
                pramMeta.DataType.StringLength = param.StringLength;

                funcTmp.GetParameterList().Add(pramMeta);
            }

            SQLRoleAssignmentCollection roles = udfDef.Roles;

            foreach (SQLRoleAssignment roleAssign in roles)
            {
                GranteeMeta roleGrantee = new GranteeMeta(udfDef.FunctionName);
                roleGrantee.GranteeList.Add(roleAssign.RoleName);
                roleGrantee.ObjPermissions.Add(roleAssign.GrantAssignments);
                grantList.Add(roleGrantee);

                GranteeMeta roleDenied = new GranteeMeta(udfDef.FunctionName);
                roleDenied.GranteeList.Add(roleAssign.RoleName);
                roleDenied.ObjPermissions.Add(roleAssign.DenyAssignments);
                denyList.Add(roleDenied);
            }

            return(funcTmp);
        }
コード例 #5
0
 public FunctionResponseBase()
 {
     this.Data    = new FunctionMeta();
     this.Headers = new Dictionary <string, object> {
     };
 }