private void ProcessInRechnung()
        {
            var inRechnung = this.AuftragsSammlung1.Where(n => n.Status == (int)Bestellstatus.InRechnung);

            rechnungen = new List <Documents>();

            foreach (var item in inRechnung)
            {
                DocDescriptor desc = DocDescriptor.CreateRechnung(item);

                Documents newItem = DocumentsSet.AddNew();
                newItem.RechnungsId = item.Id;
                newItem.KundenId    = item.Kunde.Id;
                newItem.Bezeichnung = desc.Auftragsnummer + " - " + desc.Titel + " vom " + DateTime.Now.ToShortDateString();
                newItem.Datum       = DateTime.Now;
                newItem.Data        = desc.ToDictionary().Serialize();
                rechnungen.Add(newItem);
                item.RequiresProcessing = false;
            }
        }
        partial void Test_Execute()
        {
            Rechnungen tmp = new Rechnungen();

            tmp.Kunde = new KundenItem()
            {
                Anrede     = "Herr",
                Hausnummer = 1,
                Land       = "Deutschland",
                Nachnahme  = "Mustermann",
                PLZ        = 12345,
                Stadt      = "Musterstadt",
                Straße     = "Musterstraße",
                Vorname    = "Max"
            };
            tmp.GetRechnungsNummer();
            tmp.Auftragsnummer     = tmp.GetAuftragsNummer();
            tmp.Bestelldatum       = DateTime.Today;
            tmp.Rechnungsdatum     = DateTime.Today;
            tmp.Lieferdatum        = DateTime.Today;
            tmp.Lieferscheinnummer = "L-0001";
            tmp.Lieferkosten       = 6M;
            tmp.Referenznummer     = "R-00001";
            tmp.Versanddatum       = DateTime.Today;

            tmp.ArtikellisteCollection.Add(new ArtikellisteItem()
            {
                Anzahl           = 2,
                Rabatt           = 3,
                ArtikelstammItem = new ArtikelstammItem()
                {
                    Artikelnummer       = "A00001",
                    Artikelbeschreibung = "Testartikel",
                    Vertriebsname       = "Testartikel",
                    VK_pro_PK           = 10M
                }
            });
            tmp.ArtikellisteCollection.Add(new ArtikellisteItem()
            {
                Anzahl           = 1,
                Rabatt           = 0,
                ArtikelstammItem = new ArtikelstammItem()
                {
                    Artikelnummer       = "A00002",
                    Artikelbeschreibung = "Testartikel 2",
                    Vertriebsname       = "Testartikel 2",
                    VK_pro_PK           = 19.9M
                }
            });

            DocDescriptor test = DocDescriptor.CreateRechnung(tmp);

            byte[] documentBytes = null;
            using (var dw = Application.Current.CreateDataWorkspace())
            {
                var newDoc = dw.ApplicationData.DocumentsSet.AddNew();
                newDoc.Bezeichnung = "Vorlagentest";
                newDoc.Datum       = DateTime.Now;
                newDoc.Data        = test.ToByteArray();
                dw.ApplicationData.SaveChanges();
                documentBytes = newDoc.GeneratedDocument.Bytes;
                newDoc.Delete();
                dw.ApplicationData.SaveChanges();
            }

            Refresh();

            if (documentBytes != null)
            {
                string file = Helper.GetFreeTempFilename("pdf");
                File.WriteAllBytes(file, documentBytes);
                Helper.ShellExecute(file);
            }
        }