public static DocumentResult MapDocumentResult(Doc.DocumentResult documentResult) { if (documentResult.status == Doc.DocumentResultStatus.error) { var error = (Doc.T_Error)documentResult.Item; return(new DocumentResult(error.Message)); } var documentsResult = (Doc.T_OGDWebDocument)documentResult.Item; var transformedDocument = new Client.Models.Document() { Abkuerzung = documentsResult.Abkuerzung, Aenderung = documentsResult.Aenderung, Aenderungsdatum = documentsResult.Aenderungsdatum, AlteDokumentnummer = documentsResult.AlteDokumentnummer, Anmerkung = documentsResult.Anmerkung, AnmerkungZurGanzenRechtsvorschrift = documentsResult.AnmerkungZurGanzenRechtsvorschrift, ArtikelParagraphAnlage = documentsResult.ArtikelParagraphAnlage, Ausserkrafttretedatum = documentsResult.Ausserkrafttretedatum, Beachte = documentsResult.Beachte, BeachteZurGanzenRechtsvorschrift = documentsResult.BeachteZurGanzenRechtsvorschrift, Dokumentnummer = documentsResult.Dokumentnummer, Gesetzesnummer = documentsResult.Gesetzesnummer, Indizes = documentsResult.Indizes != null ? new List <string>(documentsResult.Indizes) : new List <string>(), Inkrafttretedatum = documentsResult.Inkrafttretedatum, Kundmachungsorgan = documentsResult.Kundmachungsorgan, Kurztitel = documentsResult.Kurztitel, Langtitel = documentsResult.Langtitel, Schlagworte = documentsResult.Schlagworte, Sprachen = documentsResult.Sprachen, Staaten = documentsResult.Staaten, Typ = documentsResult.Typ, Uebergangsrecht = documentsResult.Uebergangsrecht, Unterzeichnungsdatum = documentsResult.Unterzeichnungsdatum, Veroeffentlichungsdatum = documentsResult.Veroeffentlichungsdatum, }; var transformedContentItems = new List <Client.Models.DocumentContent>(); foreach (Doc.T_WebDocumentContentReference content in documentsResult.Dokumentinhalt) { DocumentContentTypeEnum ctype = ContentTypeToContentTypeEnum(content.ContentType); DocumentContentDataTypeEnum dtype = DataTypeToDataTypeEnum(content.DataType); if (content.Item is Doc.risdok) { var risdok = (Doc.risdok)content.Item; if (null != risdok.nutzdaten) { var transformedContent = new Client.Models.DocumentContent() { Name = content.Name, ContentType = ctype, DataType = dtype, Nutzdaten = risdok.nutzdaten.Text, // for Xslt processing }; transformedContentItems.Add(transformedContent); } } else { // content.Item is a byte[] when correctly decoded, eg see risdok://NOR12088695 if (content.Item is byte[]) { var attachment = new Client.Models.DocumentContent() { Name = content.Name, // this Name property is sent extensionless ContentType = ctype, DataType = dtype, Content = (byte[])content.Item }; transformedContentItems.Add(attachment); } } } return(new DocumentResult() { Succeeded = true, Document = transformedDocument, DocumentContents = transformedContentItems }); }
public static DocumentResult MapDocumentResult(Doc.DocumentResult documentResult) { if (documentResult.status == Doc.DocumentResultStatus.error) { var error = (Doc.T_Error)documentResult.Item; return new DocumentResult(error.Message); } var documentsResult = (Doc.T_OGDWebDocument)documentResult.Item; var transformedDocument = new Client.Models.Document() { Abkuerzung = documentsResult.Abkuerzung, Aenderung = documentsResult.Aenderung, Aenderungsdatum = documentsResult.Aenderungsdatum, AlteDokumentnummer = documentsResult.AlteDokumentnummer, Anmerkung = documentsResult.Anmerkung, AnmerkungZurGanzenRechtsvorschrift = documentsResult.AnmerkungZurGanzenRechtsvorschrift, ArtikelParagraphAnlage = documentsResult.ArtikelParagraphAnlage, Ausserkrafttretedatum = documentsResult.Ausserkrafttretedatum, Beachte = documentsResult.Beachte, BeachteZurGanzenRechtsvorschrift = documentsResult.BeachteZurGanzenRechtsvorschrift, Dokumentnummer = documentsResult.Dokumentnummer, Gesetzesnummer = documentsResult.Gesetzesnummer, Indizes = documentsResult.Indizes != null ? new List<string>(documentsResult.Indizes) : new List<string>(), Inkrafttretedatum = documentsResult.Inkrafttretedatum, Kundmachungsorgan = documentsResult.Kundmachungsorgan, Kurztitel = documentsResult.Kurztitel, Langtitel = documentsResult.Langtitel, Schlagworte = documentsResult.Schlagworte, Sprachen = documentsResult.Sprachen, Staaten = documentsResult.Staaten, Typ = documentsResult.Typ, Uebergangsrecht = documentsResult.Uebergangsrecht, Unterzeichnungsdatum = documentsResult.Unterzeichnungsdatum, Veroeffentlichungsdatum = documentsResult.Veroeffentlichungsdatum, }; var transformedContentItems = new List<Client.Models.DocumentContent>(); foreach (Doc.T_WebDocumentContentReference content in documentsResult.Dokumentinhalt) { DocumentContentTypeEnum ctype = ContentTypeToContentTypeEnum(content.ContentType); DocumentContentDataTypeEnum dtype = DataTypeToDataTypeEnum(content.DataType); if (content.Item is Doc.risdok) { var risdok = (Doc.risdok)content.Item; if (null != risdok.nutzdaten) { var transformedContent = new Client.Models.DocumentContent() { Name = content.Name, ContentType = ctype, DataType = dtype, Nutzdaten = risdok.nutzdaten.Text, // for Xslt processing }; transformedContentItems.Add(transformedContent); } } else { // content.Item is a byte[] when correctly decoded, eg see risdok://NOR12088695 if (content.Item is byte[]) { var attachment = new Client.Models.DocumentContent() { Name = content.Name, // this Name property is sent extensionless ContentType = ctype, DataType = dtype, Content = (byte[])content.Item }; transformedContentItems.Add(attachment); } } } return new DocumentResult() { Succeeded = true, Document = transformedDocument, DocumentContents = transformedContentItems }; }