Ejemplo n.º 1
0
        private async Task <SearchResult> QueryAsync(Req.T_OGDSearchRequest request, int seitenNummer)
        {
            request.Seitennummer = seitenNummer;
            request.Sortierung   = new Req.BundesnormenSortExpression()
            {
                SortDirection  = Req.WebSortDirection.Ascending,
                SortedByColumn = Req.BundesnormenSortableColumn.Kurzinformation
            };

            // We do continuous loading in the UI, thus the user cannot specify the page size
            request.DokumenteProSeiteSpecified = true;
            request.DokumenteProSeite          = Req.PageSize.Fifty;

            try
            {
                string requestAsString = MessageSerializationHelper.SerializeToString(request);

                var             client   = CreateServiceClient();
                requestResponse response = await client.requestAsync("Br", requestAsString);

                var searchResult = MessageSerializationHelper.DeserializeFromString <Resp.T_OGDSearchResult>(response.Body.requestResult);
                return(Mapper.MapSearchResult(searchResult));
            }
            catch (Exception ex)
            {
                return(new SearchResult(ex.ToString()));
            }
        }