public override object RunAction(DynamicAction objAction, DynamicControllerInfo controller, RestService objService, WebMethod verb, IDictionary <string, object> arguments) { var dynController = new DynamicController { Service = objService, ControllerInfo = controller, SelectedAction = objAction }; var objContext = objAction.InitContext(arguments); objContext.InitParams(objService.GlobalParameters); objContext.InitParams(controller.GlobalParameters); objContext.SetVar("Controller", dynController); foreach (DynamicParameter parameter in objAction.Parameters) { object val = null; if (parameter.IsOptional && parameter.DefaultValue.Enabled && !arguments.TryGetValue(parameter.Name, out val)) { objContext.SetVar(parameter.Name, parameter.ResolvedDefaultValue); } } var response = dynController.ProcessInternal(objContext, verb); return(response?.EvaluateToReturn(objContext)); }
public override IHttpController CreateController(System.Net.Http.HttpRequestMessage request) { var dynController = new DynamicController { Service = _RestService, ControllerInfo = _ControllerInfo }; return(dynController); }