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()));
            }
        }
Ejemplo n.º 2
0
        public static async Task <DocumentResult> LoadAsync(string dokumentNummer)
        {
            var client = new OGDServiceSoapClient();

            try
            {
                getDocumentResponse doc = await client.getDocumentAsync("Br", dokumentNummer);

                var documentResult = MessageSerializationHelper.DeserializeFromString <Doc.DocumentResult>(doc.Body.getDocumentResult);
                var result         = Mapper.MapDocumentResult(documentResult);

                result.OriginalDocumentResultXml = doc.Body.getDocumentResult;
                return(result);
            }
            catch (Exception ex)
            {
                return(new DocumentResult(ex.ToString()));
            }
        }
Ejemplo n.º 3
0
        private async Task <bool> LoadFromCacheAsync()
        {
            int id = 0;

            if (!Int32.TryParse(NavigationParameter.Command, out id))
            {
                return(false);
            }

            var ctx = new RisDbContext();
            var doc = await ctx.GetDownload(id);

            if (null == doc)
            {
                return(false);
            }

            try
            {
                // Rehydrate document from storage
                var documentResult = MessageSerializationHelper.DeserializeFromString <Ris.Client.Messages.Document.DocumentResult>(doc.OriginalDocumentResultXml);
                CurrentDocument = Mapper.MapDocumentResult(documentResult);

                CurrentDocument.OriginalDocumentResultXml = doc.OriginalDocumentResultXml;
                SourceHtml = doc.HtmlFromRisServer;
                CachedDocumentDatabaseId = doc.Id;

                return(CurrentDocument.Succeeded);
            }
            catch (Exception ex)
            {
                Log.Error("LoadFromCacheAsync", ex);
            }

            return(false);
        }