Example #1
0
 private void ConfigureApiExplorer(ControllerModel controller)
 {
     if (controller.ApiExplorer.GroupName.IsNullOrEmpty())
     {
         controller.ApiExplorer.GroupName = controller.ControllerName;
     }
     if (!controller.ApiExplorer.IsVisible.HasValue)
     {
         var controllerType            = controller.ControllerType.AsType();
         var daynamicWebApiServiceAttr = ReflectionExt.GetSingleAttributeOrDefault <DynamicWebApiAttribute> (controllerType.GetTypeInfo());
         if (daynamicWebApiServiceAttr != null)
         {
             controller.ApiExplorer.IsVisible =
                 daynamicWebApiServiceAttr.IsEnabledFor(controllerType) &&
                 daynamicWebApiServiceAttr.IsMetadataEnabledFor(controllerType);
         }
         else
         {
             controller.ApiExplorer.IsVisible = true;
         }
     }
     foreach (var action in controller.Actions)
     {
         ConfigureApiExplorer(action);
     }
 }
Example #2
0
        private void ConfigureSelector(string areaName, string controllerName, ActionModel action)
        {
            var nonDynamicWebApiAttr = ReflectionExt.GetSingleAttributeOrDefault <NonDynamicWebApiAttribute> (action.ActionMethod);

            if (nonDynamicWebApiAttr != null)
            {
                return;
            }
            RemoveEmptySelectors(action.Selectors);
            if (action.Selectors.Count <= 0)
            {
                AddApplicationServiceSelector(areaName, controllerName, action);
            }
            else
            {
                NormalizeSelectorRoutes(areaName, controllerName, action);
            }
        }
Example #3
0
 public void Apply(ApplicationModel application)
 {
     foreach (var controller in application.Controllers)
     {
         var controllerType            = controller.ControllerType.AsType();
         var daynamicWebApiServiceAttr = ReflectionExt.GetSingleAttributeOrDefault <DynamicWebApiAttribute> (controllerType.GetTypeInfo());
         if (ImplementsDynamicWebApiInterface(controllerType))
         {
             controller.ControllerName = controller.ControllerName.RemovePostFix(WebApiConsts.ControllerPostfixes.ToArray());
             ConfigureApplicationService(controller, daynamicWebApiServiceAttr);
         }
         else
         {
             if (daynamicWebApiServiceAttr != null && daynamicWebApiServiceAttr.IsEnabledFor(controllerType))
             {
                 ConfigureApplicationService(controller, daynamicWebApiServiceAttr);
             }
         }
     }
 }