private static RouteValidationResult MustHaveActionSegment(Segment[] segments, RouteValueDictionary defaults, RouteValueDictionary constraints) { var hasController = segments.OfType <ParameterSegment>().Any(x => x.ParameterName == "action") || defaults.GetOrDefault <object>("action") != null; return(hasController ? RouteValidationResult.Successful() : RouteValidationResult.Failure("The route does not contain an '{action}' segment, and no default action was provided.")); }
private static RouteValidationResult MustHaveViewModelSegment(Segment[] segments, RouteValueDictionary defaults, RouteValueDictionary constraints) { var hasViewModel = segments.OfType <ParameterSegment>().Any(x => x.ParameterName == "viewModel") || defaults.GetOrDefault <object>("viewModel") != null; return(hasViewModel ? RouteValidationResult.Successful() : RouteValidationResult.Failure("The route does not contain a '{viewModel}' segment, and no default ViewModel type was provided.")); }
/// <summary> /// Initializes a new instance of the <see cref="InvalidRouteException"/> class. /// </summary> /// <param name="route">The route.</param> /// <param name="result">The result.</param> /// <param name="message">The message.</param> public InvalidRouteException(IRoute route, RouteValidationResult result, string message) : base(message) { this.route = route; this.result = result; }