public async Task <ICollection <PageRoute> > ExecuteAsync(GetAllPageRoutesQuery query, IExecutionContext executionContext)
 {
     return(await _pageCache.GetOrAddAsync(() =>
     {
         return GetAllPageRoutesAsync(query, executionContext);
     }));
 }
        private async Task <ICollection <PageRoute> > GetAllPageRoutesAsync(GetAllPageRoutesQuery query, IExecutionContext executionContext)
        {
            var dbPages = await QueryPages().ToListAsync();

            var dbPageVersions = await QueryPageVersions().ToListAsync();

            var pageDirectories = await _queryExecutor.ExecuteAsync(new GetAllPageDirectoryRoutesQuery(), executionContext);

            var pageDirectoryLookup = pageDirectories.ToDictionary(d => d.PageDirectoryId);
            var templates           = await GetPageTemplates().ToDictionaryAsync(t => t.PageTemplateId);

            var allLocales = await _queryExecutor.ExecuteAsync(new GetAllActiveLocalesQuery(), executionContext);

            var routes = Map(dbPages, dbPageVersions, pageDirectoryLookup, templates, allLocales);

            return(routes);
        }
Example #3
0
        /// <summary>
        /// Returns a collection of page routing data for all pages. The
        /// PageRoute projection is a small page object focused on providing
        /// routing data only. Data returned from this query is cached by
        /// default as it's core to routing and often incorporated in more detailed
        /// page projections.
        /// </summary>
        /// <param name="executionContext">Optional execution context to use when executing the query. Useful if you need to temporarily elevate your permission level.</param>
        public Task <ICollection <PageRoute> > GetAllPageRoutesAsync(IExecutionContext executionContext = null)
        {
            var query = new GetAllPageRoutesQuery();

            return(_queryExecutor.ExecuteAsync(query, executionContext));
        }
        public Task <ICollection <PageRoute> > AsRoutesAsync()
        {
            var query = new GetAllPageRoutesQuery();

            return(ExtendableContentRepository.ExecuteQueryAsync(query));
        }
        public IContentRepositoryQueryContext <ICollection <PageRoute> > AsRoutes()
        {
            var query = new GetAllPageRoutesQuery();

            return(ContentRepositoryQueryContextFactory.Create(query, ExtendableContentRepository));
        }
 public IEnumerable <IPermissionApplication> GetPermissions(GetAllPageRoutesQuery query)
 {
     yield return(new PageReadPermission());
 }
Example #7
0
        public async Task <ICollection <PageRoute> > ExecuteAsync(GetAllPageRoutesQuery query, IExecutionContext executionContext)
        {
            var result = await _queryExecutor.ExecuteAsync(new GetPageRouteLookupQuery());

            return(result.Values);
        }