/// <summary> /// Configuration entry (c# inline) /// { /// new Resolver() { /// Alias = "GetFrom", /// Arguments = 2, /// Name = "SayHello" /// } /// } /// Arguments: /// 1 - source := "current,parent,parents,filter,data,client,server,sequrity,input" /// 2 - name := string - the name of the parameter to look for or the literal name to use the name under which the parameter is specified in the SQL. /// </summary> /// <param name="ctx"></param> /// <param name="inargs"></param> /// <returns></returns> public ParameterResolverValue GetFrom(IParameterResolverContext ctx, IList <ParameterResolverValue> args) { ResolverArguments <ParameterResolverValue> argsCasted = args as ResolverArguments <ParameterResolverValue>; string paramName = argsCasted[1].Value as string; string source = argsCasted[0].Value as string; return(new ParameterResolverValue(StdGetParameterValue(source, paramName, ctx))); }
public ParameterResolverValue GetUserDetails(IParameterResolverContext ctx, IList <ParameterResolverValue> args) { ResolverArguments <ParameterResolverValue> argsCasted = args as ResolverArguments <ParameterResolverValue>; string paramName = argsCasted[0].Value as string; var inputModel = ctx.ProcessingContext.InputModel; switch (paramName) { case "firstname": { return(new ParameterResolverValue(inputModel.SecurityModel.FirstName)); } case "lastname": { return(new ParameterResolverValue(inputModel.SecurityModel.LastName)); } default: break; } throw new Exception($"The requested parameter with {paramName} is not supported."); }