/// <summary> /// Generates an OData link using the default OData route name. /// </summary> /// <param name="urlHelper">The URL helper.</param> /// <param name="pathHandler">The path handler to use for generating the link.</param> /// <param name="segments">The OData path segments.</param> /// <returns>The geerated OData link.</returns> public static string ODataLink(this UrlHelper urlHelper, IODataPathHandler pathHandler, IList<ODataPathSegment> segments) { string odataPath = pathHandler.Link(new ODataPath(segments)); return urlHelper.Link( ODataRouteConstants.RouteName, new HttpRouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } }); }
/// <summary> /// Generates an OData link using the given OData route name and path handler. /// </summary> /// <param name="urlHelper">The URL helper.</param> /// <param name="routeName">The name of the OData route.</param> /// <param name="pathHandler">The path handler to use for generating the link.</param> /// <param name="segments">The OData path segments.</param> /// <returns>The generated OData link.</returns> public static string ODataLink(this UrlHelper urlHelper, string routeName, IODataPathHandler pathHandler, IList<ODataPathSegment> segments) { if (urlHelper == null) { throw Error.ArgumentNull("urlHelper"); } if (pathHandler == null) { throw Error.ArgumentNull("pathHandler"); } string odataPath = pathHandler.Link(new ODataPath(segments)); string directLink = urlHelper.GenerateLinkDirectly(routeName, odataPath); if (directLink != null) { return directLink; } // Slow path : use urlHelper.Link because the fast path failed return urlHelper.Link( routeName, new HttpRouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } }); }
/// <summary> /// Generates an OData link using the given OData route name and path handler. /// </summary> /// <param name="urlHelper">The URL helper.</param> /// <param name="routeName">The name of the OData route.</param> /// <param name="pathHandler">The path handler to use for generating the link.</param> /// <param name="segments">The OData path segments.</param> /// <returns>The generated OData link.</returns> public static string ODataLink(this UrlHelper urlHelper, string routeName, IODataPathHandler pathHandler, IList <ODataPathSegment> segments) { if (urlHelper == null) { throw Error.ArgumentNull("urlHelper"); } if (pathHandler == null) { throw Error.ArgumentNull("pathHandler"); } string odataPath = pathHandler.Link(new ODataPath(segments)); string directLink = urlHelper.GenerateLinkDirectly(routeName, odataPath); if (directLink != null) { return(directLink); } // Slow path : use urlHelper.Link because the fast path failed return(urlHelper.Link( routeName, new HttpRouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } })); }
public static string EntitySetLink(this IODataPathHandler parser, string entitySet, object id) { ODataPath path = new ODataPath( new EntitySetPathSegment(entitySet), new KeyValuePathSegment(ODataUriUtils.ConvertToUriLiteral(id, Microsoft.Data.OData.ODataVersion.V3))); return(parser.Link(path)); }
public static string NavigationLink(this IODataPathHandler parser, string entitySet, object key, IEdmNavigationProperty navigationProperty) { ODataPath path = new ODataPath( new EntitySetPathSegment(entitySet), new KeyValuePathSegment(ODataUriUtils.ConvertToUriLiteral(key, Microsoft.Data.OData.ODataVersion.V3)), new NavigationPathSegment(navigationProperty)); return(parser.Link(path)); }
public static string ODataUrl(this UrlHelper urlHelper, string routeName, params ODataPathSegment[] segments) { var odataPath = _pathHandler.Link(new ODataPath(segments)); return(urlHelper.Route(routeName, new RouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } })); }
/// <summary> /// The o data url. /// </summary> /// <param name="urlHelper"> /// The url helper. /// </param> /// <param name="routeName"> /// The route name. /// </param> /// <param name="segments"> /// The segments. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public static string OdataUrl(this UrlHelper urlHelper, string routeName, params ODataPathSegment[] segments) { var odataPath = PathHandler.Link(new Microsoft.AspNet.OData.Routing.ODataPath(segments)); return(urlHelper.HttpRouteUrl( routeName, new RouteValueDictionary { { ODataRouteConstants.ODataPath, odataPath } })); }
/// <summary> /// Generates an OData link using the default OData route name. /// </summary> /// <param name="urlHelper">The URL helper.</param> /// <param name="pathHandler">The path handler to use for generating the link.</param> /// <param name="segments">The OData path segments.</param> /// <returns>The geerated OData link.</returns> public static string ODataLink(this UrlHelper urlHelper, IODataPathHandler pathHandler, IList <ODataPathSegment> segments) { string odataPath = pathHandler.Link(new ODataPath(segments)); return(urlHelper.Link( ODataRouteConstants.RouteName, new HttpRouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } })); }
/// <summary> /// Generates an OData link using the given OData route name and path handler. /// </summary> /// <param name="urlHelper">The URL helper.</param> /// <param name="routeName">The name of the OData route.</param> /// <param name="pathHandler">The path handler to use for generating the link.</param> /// <param name="segments">The OData path segments.</param> /// <returns>The generated OData link.</returns> public static string ODataLink(this UrlHelper urlHelper, string routeName, IODataPathHandler pathHandler, IList<ODataPathSegment> segments) { if (urlHelper == null) { throw Error.ArgumentNull("urlHelper"); } if (pathHandler == null) { throw Error.ArgumentNull("pathHandler"); } string odataPath = pathHandler.Link(new ODataPath(segments)); return urlHelper.Link( routeName, new HttpRouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } }); }
/// <summary> /// Generates an OData link using the given OData route name, path handler, and segments. /// </summary> /// <param name="routeName">The name of the OData route.</param> /// <param name="pathHandler">The path handler to use for generating the link.</param> /// <param name="segments">The OData path segments.</param> /// <returns>The generated OData link.</returns> public string CreateODataLink(string routeName, IODataPathHandler pathHandler, IList <ODataPathSegment> segments) { if (String.IsNullOrEmpty(routeName)) { throw Error.InvalidOperation(SRResources.RequestMustHaveODataRouteName); } if (pathHandler == null) { throw Error.ArgumentNull("pathHandler"); } string odataPath = pathHandler.Link(new ODataPath(segments)); return(this.innerHelper.Link( routeName, new RouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } })); }
/// <summary> /// Generates an OData link using the given OData route name and path handler. /// </summary> /// <param name="urlHelper">The URL helper.</param> /// <param name="routeName">The name of the OData route.</param> /// <param name="pathHandler">The path handler to use for generating the link.</param> /// <param name="segments">The OData path segments.</param> /// <returns>The generated OData link.</returns> public static string ODataLink(this UrlHelper urlHelper, string routeName, IODataPathHandler pathHandler, IList <ODataPathSegment> segments) { if (urlHelper == null) { throw Error.ArgumentNull("urlHelper"); } if (pathHandler == null) { throw Error.ArgumentNull("pathHandler"); } string odataPath = pathHandler.Link(new ODataPath(segments)); return(urlHelper.Link( routeName, new HttpRouteValueDictionary() { { ODataRouteConstants.ODataPath, odataPath } })); }