Esempio n. 1
0
        private long CreateDicomDirectory
        (
            CompositeInstanceDataSet dicomInstances,
            DirectoryInfo mediaDirectory,
            IDicomMediaProfileProcessor profileProcessor
        )
        {
            using (DicomDir dicomDir = new DicomDir(mediaDirectory.FullName))
            {
                List <string> createdFiles;


                createdFiles = ProcessDicomDir(mediaDirectory,
                                               dicomInstances,
                                               dicomDir,
                                               profileProcessor);

                dicomDir.SetFileSetId(mediaDirectory.Name);

                if (!string.IsNullOrEmpty(DescriptorFile))
                {
                    string descriptorFile;


                    descriptorFile = CopyDescriptorFile(mediaDirectory.FullName);

                    dicomDir.SetDescriptorFile(descriptorFile, DescriptorFileCharacterSet);

                    createdFiles.Add(descriptorFile);
                }

                profileProcessor.OnDicomDirCompleted(dicomDir.DataSet);

                dicomDir.Save( );

                createdFiles.Add(Path.Combine(mediaDirectory.FullName, "DICOMDIR"));

                return(GetFilesSize(createdFiles));
            }
        }