public void Get_Node_By_Route(string route, int nodeId) { var result = _cache.GetByRoute(route, false); Assert.IsNotNull(result); Assert.AreEqual(nodeId, result.Id); }
private Page GetPageFromUrl(Uri url, IUserService userService, IContentService contentService, ContextualPublishedContentCache contentCache) { var result = new Page(); var absoluteUrl = new Uri(Request.RequestUri, url); var match = Regex.Match(absoluteUrl.Fragment, "^#/content/content/edit/([0-9]+)$"); if (match.Success) { var pageId = int.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture); var page = contentService.GetById(pageId); if (page != null) { result.NodeId = page.Id; result.Name = page.Name; result.LastEditedDate = page.UpdateDate; result.LastEditedBy = GetUser(page.WriterId, userService); } } else { var page = contentCache.GetByRoute(absoluteUrl.AbsolutePath); if (page != null) { result.NodeId = page.Id; result.Url = new Uri(page.UrlAbsolute()); result.Name = page.Name; result.LastEditedDate = page.UpdateDate; result.LastEditedBy = GetUser(page.WriterId, userService); } } return(result); }
public IPublishedContent Find(string url) { return(publishedCache.GetByRoute(false, url, false)); }
/// <summary> /// Gets content identified by a route. /// /// </summary> /// <param name="route">The route</param><param name="hideTopLevelNode">A value forcing the HideTopLevelNode setting.</param> /// <returns> /// The content, or null. /// </returns> /// /// <remarks> /// /// <para> /// A valid route is either a simple path eg <c>/foo/bar/nil</c> or a root node id and a path, eg <c>123/foo/bar/nil</c>. /// </para> /// /// <para> /// Considers published or unpublished content depending on context. /// </para> /// /// </remarks> public virtual IPublishedContent GetByRoute(string route, bool?hideTopLevelNode) { return(_contentCache.GetByRoute(route, hideTopLevelNode)); }