示例#1
0
        public async Task <ICollection <CustomEntityRenderSummary> > ExecuteAsync(GetCustomEntityRenderSummariesByDefinitionCodeQuery query, IExecutionContext executionContext)
        {
            var dbResults = await QueryAsync(query, executionContext);

            var results = await _customEntityRenderSummaryMapper.MapAsync(dbResults, executionContext);

            return(results);
        }
        public async Task <IEnumerable <Breed> > ExecuteAsync(GetAllBreedsQuery query, IExecutionContext executionContext)
        {
            var customEntityQuery = new GetCustomEntityRenderSummariesByDefinitionCodeQuery(BreedCustomEntityDefinition.DefinitionCode);
            var customEntities    = await _customEntityRepository.GetCustomEntityRenderSummariesByDefinitionCodeAsync(customEntityQuery);;

            var breeds = customEntities.Select(MapBreed);

            return(breeds);
        }
        public IDomainRepositoryQueryContext <ICollection <CustomEntityRenderSummary> > AsRenderSummary(PublishStatusQuery?publishStatusQuery = null)
        {
            var query = new GetCustomEntityRenderSummariesByDefinitionCodeQuery(_customEntityDefinitionCode);

            if (publishStatusQuery.HasValue)
            {
                query.PublishStatus = publishStatusQuery.Value;
            }

            return(DomainRepositoryQueryContextFactory.Create(query, ExtendableContentRepository));
        }
        public async Task <ICollection <Feature> > ExecuteAsync(GetAllFeaturesQuery query, IExecutionContext executionContext)
        {
            var customEntityQuery = new GetCustomEntityRenderSummariesByDefinitionCodeQuery(FeatureCustomEntityDefinition.DefinitionCode);
            var customEntities    = await _customEntityRepository.GetCustomEntityRenderSummariesByDefinitionCodeAsync(customEntityQuery);;

            var features = customEntities
                           .Select(MapFeature)
                           .ToList();

            return(features);
        }
        public async Task <IEnumerable <Category> > ExecuteAsync(GetAllCategoriesQuery query, IExecutionContext executionContext)
        {
            var customEntityQuery = new GetCustomEntityRenderSummariesByDefinitionCodeQuery(CategoryCustomEntityDefinition.DefinitionCode);
            var customEntities    = await _customEntityRepository.GetCustomEntityRenderSummariesByDefinitionCodeAsync(customEntityQuery);;

            var categories = new List <Category>();

            foreach (var cat in customEntities)
            {
                categories.Add(await MapCategory(cat));
            }
            return(categories);
        }
示例#6
0
        private async Task <List <CustomEntityVersion> > QueryAsync(GetCustomEntityRenderSummariesByDefinitionCodeQuery query, IExecutionContext executionContext)
        {
            if (query.PublishStatus == PublishStatusQuery.SpecificVersion)
            {
                throw new InvalidOperationException("PublishStatusQuery.SpecificVersion not supported in GetCustomEntityRenderSummariesByDefinitionCodeQuery");
            }

            var dbResults = await _dbContext
                            .CustomEntityPublishStatusQueries
                            .AsNoTracking()
                            .Include(e => e.CustomEntityVersion)
                            .ThenInclude(e => e.CustomEntity)
                            .FilterActive()
                            .FilterByCustomEntityDefinitionCode(query.CustomEntityDefinitionCode)
                            .FilterByStatus(query.PublishStatus, executionContext.ExecutionDate)
                            .ToListAsync();

            // EF doesn't allow includes after selects, so re-filter the results.

            return(dbResults
                   .Select(e => e.CustomEntityVersion)
                   .ToList());
        }
示例#7
0
        public IEnumerable <IPermissionApplication> GetPermissions(GetCustomEntityRenderSummariesByDefinitionCodeQuery query)
        {
            var definition = _customEntityDefinitionRepository.GetByCode(query.CustomEntityDefinitionCode);

            yield return(new CustomEntityReadPermission(definition));
        }