public void Apply(ControllerModel controller)
{
var routes = routeBuilder.GetTypedRoutes();
if (routes.ContainsKey(controller.ControllerType))
{
var typedRoutes = routes[controller.ControllerType];
foreach (var route in typedRoutes)
{
var selectorModel = new SelectorModel
{
AttributeRouteModel = route
};
var selectors = controller.Selectors;
var action = controller.Actions.FirstOrDefault(x => x.ActionMethod == route.ActionMember);
if (action != null)
{
foreach (var constraint in route.Constraints)
{
selectorModel.ActionConstraints.Add(constraint);
}
selectors = action.Selectors;
}
selectors.Clear();
selectors.Add(selectorModel);
}
}
}