public static async Task <SearchResult> LoadPage(RisQueryParameter queryParam, int seitenNummer)
        {
            var risClient = new RisClient();
            var result    = await risClient.QueryAsync(queryParam, seitenNummer);

            return(result);
        }
        public RisQueryWithIncrementalLoading(RisQueryParameter queryParam, SearchResult result,
                                              Action incrementalLoadStarted, Action incrementalLoadCompleted, Action <string> incrementalLoadFailed)
        {
            QueryParameter = queryParam;

            Hits     = result.Hits;
            Page     = result.Page;
            PageSize = result.PageSize;

            foreach (var dr in result.DocumentReferences)
            {
                Add(dr);
            }

            _incrementalLoadStarted   = incrementalLoadStarted;
            _incrementalLoadCompleted = incrementalLoadCompleted;
            _incrementalLoadFailed    = incrementalLoadFailed;
        }
Example #3
0
        public async Task <SearchResult> QueryAsync(RisQueryParameter param, int seitenNummer)
        {
            Req.T_OGDSearchRequest request = null;

            if (param is RisFulltextQueryParameter)
            {
                request = PrepareFulltextSearch((RisFulltextQueryParameter)param);
            }
            else if (param is RisAdvancedQueryParameter)
            {
                request = PrepareAdvancedSearch((RisAdvancedQueryParameter)param);
            }

            if (null == request)
            {
                return(new SearchResult("Kein Query Processor gefunden"));
            }

            request.ImRisSeitSpecified = true;
            request.ImRisSeit          = Mapper.MapChangedWithinToChangesetInterval(param.ImRisSeit);

            return(await QueryAsync(request, seitenNummer));
        }