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)); } }