Beispiel #1
0
        /// <summary>Erstellt einen DigitalisierungsAuftrag anhand der vom Benutzer gemachten Eingaben bei der Bestellung.</summary>
        /// <param name="digipoolEntry">Der Auftrag aus dem DigiPool</param>
        public async Task <DigitalisierungsAuftrag> GetManualDigitalisierungsAuftrag(DigipoolEntry digipoolEntry)
        {
            // Die Muss-Daten zunächst mit "keine Angabe" initialisieren
            var auftrag = new DigitalisierungsAuftrag
            {
                Ablieferung = new AblieferungType
                {
                    AblieferndeStelle = noDataAvailable, Ablieferungsnummer = noDataAvailable, AktenbildnerName = noDataAvailable
                },
                OrdnungsSystem = new OrdnungsSystemType {
                    Name = noDataAvailable, Signatur = noDataAvailable, Stufe = noDataAvailable
                },
                Dossier = new VerzEinheitType
                {
                    Titel = noDataAvailable, Signatur = noDataAvailable, Entstehungszeitraum = noDataAvailable, Stufe = noDataAvailable
                },
                Auftragsdaten = new AuftragsdatenType {
                    Benutzungskopie = true, BestelleinheitId = "-1"
                }
            };


            // Nun die Auftragsdaten mit den Benutzerangaben überschreiben, bzw. setzen
            var orderItems = await orderManagerClient.FindOrderItems(new[] { digipoolEntry.OrderItemId });

            var orderItem = orderItems.FirstOrDefault();

            if (orderItem != null)
            {
                // Verschiedene Properties nun auf die angegebenen Benutzerangaben stellen.
                auftrag.Ablieferung.Ablieferungsnummer = orderItem.Ablieferung;
                auftrag.Dossier.Aktenzeichen           = orderItem.Aktenzeichen;
                auftrag.Dossier.Archivnummer           = orderItem.ArchivNummer;
                if (!string.IsNullOrEmpty(orderItem.BehaeltnisNummer))
                {
                    auftrag.Dossier.Behaeltnisse = new List <BehaeltnisType>
                    {
                        new BehaeltnisType {
                            BehaeltnisCode = orderItem.BehaeltnisNummer, BehaeltnisTyp = noDataAvailable
                        }
                    };
                }

                auftrag.Dossier.Titel               = orderItem.Dossiertitel;
                auftrag.Dossier.Signatur            = orderItem.Signatur;
                auftrag.Dossier.Entstehungszeitraum = orderItem.ZeitraumDossier;
            }

            return(auftrag);
        }