Exemple #1
0
        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));
 }