BrickPile.Core.Routing.DefaultNavigationContextFactory.Create C# (CSharp) Method

Create() public method

Creates this instance.
public Create ( ) : NavigationContext
return NavigationContext
        public NavigationContext Create()
        {
            if (this.RequestContext.HttpContext.Items.Contains("brickpile:navigationContext"))
            {
                return this.RequestContext.HttpContext.Items["brickpile:navigationContext"] as NavigationContext;
            }

            using (IDocumentSession session = this.documentStore.OpenSession())
            {
                IPage[] pages = session.Load<IPage>(
                    this.routeResolverTrie.LoadTrie().GetAncestorIdsFor(
                        this.RequestContext.RouteData.GetCurrentPage<IPage>().Id,
                        true)).OrderBy(x => x.Metadata.SortOrder).ToArray();

                var navigationContext = new NavigationContext
                {
                    StartPage = pages.SingleOrDefault(x => x.Parent == null),
                    CurrentPage = this.RequestContext.RouteData.GetCurrentPage<IPage>(),
                    OpenPages = pages,
                    RequestContext = this.RequestContext
                };

                this.RequestContext.HttpContext.Items["brickpile:navigationContext"] = navigationContext;

                return navigationContext;
            }
        }
DefaultNavigationContextFactory