Exemple #1
0
        public async Task <IActionResult> Get([FromQuery] GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery rangeQuery)
        {
            if (rangeQuery.CustomEntityDefinitionCodes == null)
            {
                return(_apiResponseHelper.SimpleQueryResponse(this, Enumerable.Empty <CustomEntityDataModelSchema>()));
            }
            var result = await _queryExecutor.ExecuteAsync(rangeQuery);

            return(_apiResponseHelper.SimpleQueryResponse(this, result.FilterAndOrderByKeys(rangeQuery.CustomEntityDefinitionCodes)));
        }
        public IEnumerable <IPermissionApplication> GetPermissions(GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery query)
        {
            foreach (var code in query.CustomEntityDefinitionCodes)
            {
                var definition = _customEntityDefinitionRepository.GetByCode(code);
                EntityNotFoundException.ThrowIfNull(definition, code);

                yield return(new CustomEntityReadPermission(definition));
            }
        }
        public async Task <JsonResult> Get([FromQuery] GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery rangeQuery)
        {
            if (rangeQuery.CustomEntityDefinitionCodes == null)
            {
                return(_apiResponseHelper.SimpleQueryResponse(Enumerable.Empty <CustomEntityDataModelSchema>()));
            }

            var result = await _domainRepository
                         .WithQuery(rangeQuery)
                         .FilterAndOrderByKeys(rangeQuery.CustomEntityDefinitionCodes)
                         .ExecuteAsync();

            var settings     = _dynamicDataModelSchemaJsonSerializerSettingsCache.GetInstance();
            var jsonResponse = _apiResponseHelper.SimpleQueryResponse(result);

            jsonResponse.SerializerSettings = settings;

            return(jsonResponse);
        }
        public IDomainRepositoryQueryContext <IDictionary <string, CustomEntityDataModelSchema> > AsDetails()
        {
            var query = new GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery(_customEntityDefinitionCodes);

            return(DomainRepositoryQueryContextFactory.Create(query, ExtendableContentRepository));
        }
        public async Task <IDictionary <string, CustomEntityDataModelSchema> > ExecuteAsync(GetCustomEntityDataModelSchemaDetailsByDefinitionCodeRangeQuery query, IExecutionContext executionContext)
        {
            var definitionQuery = new GetAllCustomEntityDefinitionSummariesQuery();
            var definitions     = await _queryExecutor.ExecuteAsync(definitionQuery, executionContext);

            var results = new Dictionary <string, CustomEntityDataModelSchema>();

            foreach (var definition in definitions
                     .Where(d => query.CustomEntityDefinitionCodes.Contains(d.CustomEntityDefinitionCode)))
            {
                var result = new CustomEntityDataModelSchema();
                result.CustomEntityDefinitionCode = definition.CustomEntityDefinitionCode;
                _dynamicDataModelTypeMapper.Map(result, definition.DataModelType);

                results.Add(definition.CustomEntityDefinitionCode, result);
            }

            return(results);
        }