예제 #1
0
        public static SearchResult MapSearchResult(Resp.T_OGDSearchResult searchResult)
        {
            if (searchResult.status == Resp.T_OGDSearchResultStatus.error)
            {
                var error = (Resp.T_Error)searchResult.Item;
                return(new SearchResult(error.Message));
            }
            else
            {
                var documentsResult = (Resp.T_OGDSearchResultSearchDocumentsResult)searchResult.Item;

                var mappedDocumentReferences = documentsResult.DocumentReferences
                                               .Select(dr => new DocumentReference
                {
                    Dokumentnummer         = dr.Dokumentnummer,
                    DokumentUrl            = DocumentReference.FixDocumentUrl(dr.DokumentUrl),
                    Kurzinformation        = dr.Kurzinformation,
                    ArtikelParagraphAnlage = dr.ArtikelParagraphAnlage,
                    Applikation            = dr.Applikation.ToString()
                })
                                               .ToList();

                return(new SearchResult(mappedDocumentReferences,
                                        documentsResult.Hits.pageNumber,
                                        documentsResult.Hits.pageSize,
                                        documentsResult.Hits.Value));
            }
        }