public IControllerRouteBuilder AddController <TController>( string template, Action <IControllerBuilder <TController> > controller) { var declaration = new RouteDeclaration(template); services.Configure <RoutingOptions>(options => options.Controllers.Add(typeof(TController).GetTypeInfo(), declaration)); controller(new ControllerBuilder <TController>(services)); return(new ControllerRouteBuilder(declaration)); }
public IActionRouteBuilder AddRoute <TResult>( string template, Expression <Func <TController, TResult> > expression) { var declaration = new RouteDeclaration(template); services.Configure <RoutingOptions>(options => { var methodCall = RouteHelper.GetInnerMethodCallExpression(expression); foreach (var(info, parameter) in RouteHelper.GetRouteParameters(methodCall)) { options.Parameters.Add(info, parameter); } options.Actions.Add(methodCall.Method, declaration); }); return(new ActionRouteBuilder(declaration)); }