BuildIt.Config.Core.Api.Utilities.AppConfigurationRoutingConvention.Apply C# (CSharp) Method

Apply() public method

public Apply ( Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModel application ) : void
application Microsoft.AspNetCore.Mvc.ApplicationModels.ApplicationModel
return void
        public void Apply(ApplicationModel application)
        {
            var centralPrefix = new AttributeRouteModel(new RouteAttribute($"{routingModel.Prefix}/{routingModel.Controller}"));
            foreach (var controller in application.Controllers)
            {
                if (controller.ControllerType.UnderlyingSystemType == typeof(AppConfigurationController))
                {
                    var hasRouteAttributes = controller.Selectors.Any(selector => selector.AttributeRouteModel != null);
                    if (hasRouteAttributes)
                    {
                        // This controller manually defined some routes, so treat this 
                        // as an override and not apply the convention here.
                        continue;
                    }


                    foreach (var selector in controller.Selectors)
                    {
                        selector.AttributeRouteModel = centralPrefix;
                    }
                }
            }
        }
    }
AppConfigurationRoutingConvention