Esempio n. 1
0
        public IEnumerable <IPermissionApplication> GetPermissions(GetCustomEntityRenderSummariesByUrlSlugQuery query)
        {
            var definition = _customEntityDefinitionRepository.GetByCode(query.CustomEntityDefinitionCode);

            EntityNotFoundException.ThrowIfNull(definition, query.CustomEntityDefinitionCode);

            yield return(new CustomEntityReadPermission(definition));
        }
Esempio n. 2
0
        public async Task <ICollection <CustomEntityRenderSummary> > ExecuteAsync(GetCustomEntityRenderSummariesByUrlSlugQuery query, IExecutionContext executionContext)
        {
            var dbResult = await _dbContext
                           .CustomEntityPublishStatusQueries
                           .AsNoTracking()
                           .FilterActive()
                           .FilterByCustomEntityDefinitionCode(query.CustomEntityDefinitionCode)
                           .FilterByCustomEntityUrlSlug(query.UrlSlug)
                           .FilterByStatus(query.PublishStatus, executionContext.ExecutionDate)
                           .Select(e => e.CustomEntityVersion)
                           .Include(e => e.CustomEntity)
                           .ToListAsync();

            if (!dbResult.Any())
            {
                return(Array.Empty <CustomEntityRenderSummary>());
            }

            var result = await _customEntityRenderSummaryMapper.MapAsync(dbResult, executionContext);

            return(result);
        }
Esempio n. 3
0
 /// <summary>
 /// Returns custom entities filtered on the url slug value. This query
 /// can return multiple custom entities because unique UrlSlugs is an
 /// optional setting on the custom entity definition.
 /// </summary>
 /// <param name="query">Query parameters.</param>
 /// <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 <CustomEntityRenderSummary> > GetCustomEntityRenderSummariesByUrlSlugAsync(GetCustomEntityRenderSummariesByUrlSlugQuery query, IExecutionContext executionContext = null)
 {
     return(_queryExecutor.ExecuteAsync(query, executionContext));
 }