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)); } }