示例#1
0
        public LocalizationCollectionRoute GetNamedRoute(string namedRoute)
        {
            LocalizationCollectionRoute route = RouteEntries.GetNamedRoute(namedRoute);

            if (route == null)
            {
                throw new InvalidOperationException(string.Format("No Route found for name'{0}'.", namedRoute));
            }

            return(route);
        }
示例#2
0
        public IEnumerable <LocalizationCollectionRoute> GetRoutes(string controller, string action,
                                                                   string controllerNamespace, ICollection <Type> actionArguments)
        {
            // At least the controller must be specified
            if (string.IsNullOrEmpty(controller))
            {
                throw new ArgumentNullException("controller");
            }

            ICollection <LocalizationCollectionRoute> localizationCollectionRoutes = RouteEntries.GetRoutes(controller, action,
                                                                                                            controllerNamespace, actionArguments);

            if (localizationCollectionRoutes.Count == 0)
            {
                throw new InvalidOperationException(string.Format("No Route found for given Controller '{0}' and Action '{1}'.",
                                                                  controller, action));
            }

            if (localizationCollectionRoutes.Count == 1)
            {
                return(localizationCollectionRoutes);
            }

            if (!Configuration.AddTranslationToSimiliarUrls)
            {
                throw new InvalidOperationException(
                          string.Format(
                              "Multiple Routes found for given Controller '{0}' and Action '{1}'." +
                              " Narrow down your selection or use AddTranslationToSimiliarUrls if you want to translate similiar Routes at once.",
                              controller, action));
            }

            LocalizationCollectionRoute localizationCollectionRoute = localizationCollectionRoutes.First();

            if (localizationCollectionRoutes.Any(x => x.Url() != localizationCollectionRoute.Url()))
            {
                throw new InvalidOperationException(
                          string.Format(
                              "Multiple Routes with different Url found for given Controller '{0}' and Action '{1}'." +
                              " Narrow down your selection.", controller, action));
            }

            return(localizationCollectionRoutes);
        }
 public void DeleteRouteEntry(RouteEntry routeEntry)
 {
     RouteEntries.Remove(routeEntry);
 }
 public void DeleteRouteEntries()
 {
     RouteEntries.Clear();
 }
 public void SetRouteEntry(RouteEntry routeEntrie)
 {
     RouteEntries.Add(routeEntrie);
 }