public static HttpControllerContext FakeControllerContext(this ApiController controller, string uri, params KeyValuePair<string,string>[] routes) { var config = new HttpConfiguration(); if (uri.EndsWith("/") == false) uri += "/"; var controllerName = controller.ControllerName(); var request = new HttpRequestMessage(HttpMethod.Post, uri + controllerName); IHttpRoute lastRoute = null; Array.ForEach(routes, r => lastRoute = config.Routes.MapHttpRoute(r.Key, r.Value)); var routeData = new HttpRouteData(lastRoute, new HttpRouteValueDictionary { { "controller", controllerName.ToLower() } }); return new HttpControllerContext(config, routeData, request); }
public static bool IsForController(this ViewContext context, string name) { return context.ControllerName().Equals(name, StringComparison.InvariantCultureIgnoreCase); }
public static string ActivePage(this HtmlHelper helper, string controller, string action) { return controller == helper.ControllerName() && action == helper.ActionName() ? "selected" : ""; }