示例#1
0
        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
            });
        }
示例#2
0
        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
                       };
        }