public Component Resolve(RouterRequest request) { var component = ResolveRootComponent(request); foreach (var node in request.GetNestedComponentRoutes()) { component = GetNestedComponent(component, node); } return(component); }
private Component ResolveRootComponent(RouterRequest request) { var rootComponentRoute = request.GetRootComponentRoute(); var component = container.GetSubTypes(typeof(Component)) .Where(x => x.GetCustomAttributes <RouteAttribute>().SingleOrDefault()?.Route == rootComponentRoute) .Select(x => (Component)container.Resolve(x)) .SingleOrDefault(); if (component == null) { throw new AutoTestFrameworkException("Router have not been able to find a component"); } return(component); }