public async Task <IDictionary <int, ImageAssetRenderDetails> > ExecuteAsync(GetByIdRangeQuery <ImageAssetRenderDetails> query, IExecutionContext executionContext)
        {
            var cachedResults       = QueryCache(query.Ids);
            var missingResultsQuery = QueryDb(cachedResults);
            List <ImageAssetRenderDetails> missingResults = null;

            if (missingResultsQuery != null)
            {
                missingResults = await missingResultsQuery.ToListAsync();
            }
            return(AddResultsToCacheAndReturnResult(cachedResults, missingResults));
        }
 public IEnumerable <IPermissionApplication> GetPermissions(GetByIdRangeQuery <ImageAssetRenderDetails> query)
 {
     yield return(new ImageAssetReadPermission());
 }
 public IEnumerable <IPermissionApplication> GetPermissions(GetByIdRangeQuery <PageRoute> query)
 {
     yield return(new PageReadPermission());
 }
Beispiel #4
0
 public async Task <IDictionary <int, DocumentAssetRenderDetails> > ExecuteAsync(GetByIdRangeQuery <DocumentAssetRenderDetails> query, IExecutionContext executionContext)
 {
     return(await QueryDb(query).ToDictionaryAsync(d => d.DocumentAssetId));
 }
Beispiel #5
0
 public IDictionary <int, DocumentAssetRenderDetails> Execute(GetByIdRangeQuery <DocumentAssetRenderDetails> query, IExecutionContext executionContext)
 {
     return(QueryDb(query).ToDictionary(d => d.DocumentAssetId));
 }
        public async Task <IHttpActionResult> Get([FromUri] SearchImageAssetSummariesQuery query, [FromUri] GetByIdRangeQuery <ImageAssetRenderDetails> rangeQuery)
        {
            if (rangeQuery != null && rangeQuery.Ids != null)
            {
                var rangeResults = await _queryExecutor.ExecuteAsync(rangeQuery);

                return(_apiResponseHelper.SimpleQueryResponse(this, rangeResults.ToFilteredAndOrderedCollection(rangeQuery.Ids)));
            }

            if (query == null)
            {
                query = new SearchImageAssetSummariesQuery();
            }

            var results = await _queryExecutor.ExecuteAsync(query);

            return(_apiResponseHelper.SimpleQueryResponse(this, results));
        }