public static Route MapLocalizedRoute(this RouteCollection routes, string name, string url, object defaults, object constraints, string[] namespaces) { if (routes == null) { throw new ArgumentNullException("routes"); } if (url == null) { throw new ArgumentNullException("url"); } var urlservice = DependencyResolver.Current.GetService <BL.Interface.ISlugService>(); var route = new SeoRoute(url, new MvcRouteHandler(), urlservice) { Defaults = new RouteValueDictionary(defaults), Constraints = new RouteValueDictionary(constraints), DataTokens = new RouteValueDictionary() }; if ((namespaces != null) && (namespaces.Length > 0)) { route.DataTokens["Namespaces"] = namespaces; } routes.Add(name, route); return(route); }
public static void MapSeoRoute(this RouteCollection routes, string name, string url, IEnumerable<string> routeParams, object defaults, object constraints, string[] namespaces) { if (routes == null) { throw new ArgumentNullException("routes"); } if (url == null) { throw new ArgumentNullException("url"); } if (routeParams == null) { throw new ArgumentNullException("routeParams"); } if (routeParams.Count() == 0) { throw new ArgumentException("Must have at least one route param", "routeParams"); } var route = new SeoRoute(url, routeParams, new RouteValueDictionary(defaults), new RouteValueDictionary(constraints), new MvcRouteHandler()); if (namespaces != null && namespaces.Length > 0) { route.DataTokens = new RouteValueDictionary(); route.DataTokens["Namespaces"] = namespaces; } if (string.IsNullOrEmpty(name)) { routes.Add(route); } else { routes.Add(name, route); } }