private void ConfigureArea(ControllerModel controller, [CanBeNull] StudioXControllerAssemblySetting configuration) { if (configuration == null) { return; } if (controller.RouteValues.ContainsKey("area")) { return; } controller.RouteValues["area"] = configuration.ModuleName; }
private void ConfigureSelector(ControllerModel controller, [CanBeNull] StudioXControllerAssemblySetting configuration) { RemoveEmptySelectors(controller.Selectors); if (controller.Selectors.Any(selector => selector.AttributeRouteModel != null)) { return; } var moduleName = GetModuleNameOrDefault(controller.ControllerType.AsType()); foreach (var action in controller.Actions) { ConfigureSelector(moduleName, controller.ControllerName, action, configuration); } }
private void ConfigureRemoteService(ControllerModel controller, [CanBeNull] StudioXControllerAssemblySetting configuration) { ConfigureApiExplorer(controller); ConfigureSelector(controller, configuration); ConfigureParameters(controller); }
private void AddStudioXServiceSelector(string moduleName, string controllerName, ActionModel action, [CanBeNull] StudioXControllerAssemblySetting configuration) { var serviceSelectorModel = new SelectorModel { AttributeRouteModel = CreateStudioXServiceAttributeRouteModel(moduleName, controllerName, action) }; var verb = configuration?.UseConventionalHttpVerbs == true ? ProxyScriptingHelper.GetConventionalVerbForMethodName(action.ActionName) : ProxyScriptingHelper.DefaultHttpVerb; serviceSelectorModel.ActionConstraints.Add(new HttpMethodActionConstraint(new[] { verb })); action.Selectors.Add(serviceSelectorModel); }
private void ConfigureSelector(string moduleName, string controllerName, ActionModel action, [CanBeNull] StudioXControllerAssemblySetting configuration) { RemoveEmptySelectors(action.Selectors); if (!action.Selectors.Any()) { AddStudioXServiceSelector(moduleName, controllerName, action, configuration); } else { NormalizeSelectorRoutes(moduleName, controllerName, action); } }