private void CreatePdfFile(List <FileInfo> imageFileList, string pdfFileName)
        {
            var pdfDocument = new Document();
            var parents     = new DateiParents();

            foreach (var imageFile in imageFileList)
            {
                AddPage(pdfDocument, imageFile.FullName);
                pdfDocument.FreeMemory();

                parents = MetadataXmlUpdater.RemoveFile(imageFile, paketToConvert, rootFolder);
                imageFile.Delete();
            }

            pdfDocument.Save(pdfFileName);
            MetadataXmlUpdater.AddFile(new FileInfo(pdfFileName), parents);
        }
        public static DateiParents RemoveFile(FileInfo file, PaketDIP paket, string tempFolder)
        {
            var datei   = GetDatei(file, paket, tempFolder, out var ordnerOderInhaltverzeinis);
            var parents = new DateiParents
            {
                OrdnerOderInhaltverzeinis = ordnerOderInhaltverzeinis
            };

            GetDateiList(ordnerOderInhaltverzeinis).Remove(datei);

            foreach (var ordnungssystemposition in paket.Ablieferung.Ordnungssystem.Ordnungssystemposition)
            {
                var dossierOderDokument = RemoveDateiRef(ordnungssystemposition, datei.Id);
                if (dossierOderDokument != null)
                {
                    parents.DossierOderDokument = dossierOderDokument;
                }
            }

            return(parents);
        }
        public static void AddFile(FileInfo file, DateiParents parents)
        {
            var id    = Guid.NewGuid().ToString("N");
            var datei = new DateiDIP
            {
                Id               = id,
                Name             = file.Name,
                OriginalName     = file.Name,
                Pruefalgorithmus = Pruefalgorithmus.MD5,
                Pruefsumme       = CalculateMd5(file)
            };

            if (parents.DossierOderDokument is DokumentDIP dokumentDIP)
            {
                dokumentDIP.DateiRef.Add(id);
            }
            else if (parents.DossierOderDokument is DossierDIP dossierDIP)
            {
                dossierDIP.DateiRef.Add(id);
            }

            GetDateiList(parents.OrdnerOderInhaltverzeinis).Add(datei);
        }