private QueryValueCollection getValues(string queryName) { QueryValueCollection values = new QueryValueCollection(); RelationCollection rels = new RelationCollection(QueryValueEntity.Relations.QueryEntityUsingQueryId); rels.Add(QueryValueEntity.Relations.AttributeEntityUsingAttributeId); rels.Add(AttributeEntity.Relations.ContextEntityUsingContextId); PredicateExpression pe = new PredicateExpression(QueryValueFields.QueryId == Query.Id); pe.Add(ContextFields.Name == queryName); values.GetMulti(pe, rels); return(values); }
/// <summary> /// Navigates to the specified URI, resolving the first matching route. /// </summary> /// <param name="requestUri">The request URI.</param> /// <param name="additionalData">Additional data (like post data) that is not in the URI but is used /// for navigation.</param> private void ExecuteRequestWithUri(Uri requestUri, RouteValueDictionary additionalData) { additionalData = additionalData ?? new RouteValueDictionary(); var path = requestUri.GetComponents(UriComponents.Host | UriComponents.Path, UriFormat.Unescaped); var queryString = requestUri.GetComponents(UriComponents.Query, UriFormat.Unescaped); var route = routes.MatchPathToRoute(path); if (!route.Success) { throw new UnroutableRequestException(string.Format("The request URI '{0}' could not be routed. {1}{2}", requestUri, Environment.NewLine, route.FailReason)); } // Create a value dictionary with all of the known information - post data, query string data, // and data extracted from the route. We'll use this for the navigation request. var data = new RouteValueDictionary(additionalData); data.AddRange(route.Values, true); var queryValues = new QueryValueCollection(queryString); foreach (var pair in queryValues) { if (!data.ContainsKey(pair.Key)) { data[pair.Key] = pair.Value; } } var handler = route.Route.CreateRouteHandler(); handler.ProcessRequest( new ResolvedNavigationRequest( requestUri, path, additionalData.Count > 0, this, route.Route, data, progressListeners.Union(Factory.ProgressListeners ?? new NavigationProgressListenerCollection()).ToList() )); }
/// <summary> /// Navigates to the specified URI, resolving the first matching route. /// </summary> /// <param name="requestUri">The request URI.</param> /// <param name="additionalData">Additional data (like post data) that is not in the URI but is used /// for navigation.</param> private void ExecuteRequestWithUri(Uri requestUri, RouteValueDictionary additionalData) { additionalData = additionalData ?? new RouteValueDictionary(); var path = requestUri.GetComponents(UriComponents.Host | UriComponents.Path, UriFormat.Unescaped); var queryString = requestUri.GetComponents(UriComponents.Query, UriFormat.Unescaped); var route = _routes.MatchPathToRoute(path); if (!route.Success) { throw new UnroutableRequestException(string.Format("The request URI '{0}' could not be routed. {1}{2}", requestUri, Environment.NewLine, route.FailReason)); } // Create a value dictionary with all of the known information - post data, query string data, // and data extracted from the route. We'll use this for the navigation request. var data = new RouteValueDictionary(additionalData); data.AddRange(route.Values, true); var queryValues = new QueryValueCollection(queryString); foreach (var pair in queryValues) { if (!data.ContainsKey(pair.Key)) { data[pair.Key] = pair.Value; } } var handler = route.Route.CreateRouteHandler(); handler.ProcessRequest( new ResolvedNavigationRequest( requestUri, path, additionalData.Count > 0, this, route.Route, data, _progressListeners.Union(Factory.ProgressListeners ?? new NavigationProgressListenerCollection()).ToList() )); }
public QueryValueCollectionDebuggerView(QueryValueCollection collection) { this.collection = collection; }
private QueryValueCollection getValues(string queryName) { QueryValueCollection values = new QueryValueCollection(); RelationCollection rels = new RelationCollection(QueryValueEntity.Relations.QueryEntityUsingQueryId); rels.Add(QueryValueEntity.Relations.AttributeEntityUsingAttributeId); rels.Add(AttributeEntity.Relations.ContextEntityUsingContextId); PredicateExpression pe = new PredicateExpression(QueryValueFields.QueryId == Query.Id); pe.Add(ContextFields.Name == queryName); values.GetMulti(pe, rels); return values; }