public override Expression CallFunc(FunctionMeta Name, IEnumerable <Expression> Parameters) { var Info = (AssemblyFunction)Name.Information; return(Expression.Invoke( Expression.MakeMemberAccess(null, Info.DelegateField), Parameters)); }
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); } }
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)); }
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); }
public FunctionResponseBase() { this.Data = new FunctionMeta(); this.Headers = new Dictionary <string, object> { }; }