private List <IHierarchicalSopInstanceReferenceMacro> GetList()
        {
            List <IHierarchicalSopInstanceReferenceMacro> studyReferences = new List <IHierarchicalSopInstanceReferenceMacro>();

            foreach (KeyValuePair <string, Dictionary <string, Dictionary <string, string> > > studyPair in _dictionary)
            {
                IHierarchicalSopInstanceReferenceMacro studyReference = this.CreateStudyReference(studyPair.Key);

                List <IHierarchicalSeriesInstanceReferenceMacro> seriesReferences = new List <IHierarchicalSeriesInstanceReferenceMacro>();
                foreach (KeyValuePair <string, Dictionary <string, string> > seriesPair in studyPair.Value)
                {
                    IHierarchicalSeriesInstanceReferenceMacro seriesReference = this.CreateSeriesReference(seriesPair.Key);

                    List <IReferencedSopSequence> sopReferences = new List <IReferencedSopSequence>();
                    foreach (KeyValuePair <string, string> sopPair in seriesPair.Value)
                    {
                        IReferencedSopSequence sopReference = this.CreateSopReference(sopPair.Value, sopPair.Key);
                        sopReferences.Add(sopReference);
                    }

                    seriesReference.ReferencedSopSequence = sopReferences.ToArray();
                    seriesReferences.Add(seriesReference);
                }

                studyReference.ReferencedSeriesSequence = seriesReferences.ToArray();
                studyReferences.Add(studyReference);
            }

            return(studyReferences);
        }
예제 #2
0
        private List <IHierarchicalSopInstanceReferenceMacro> GetList()
        {
            List <IHierarchicalSopInstanceReferenceMacro> studyReferences = new List <IHierarchicalSopInstanceReferenceMacro>();

            foreach (var studyEntry in _dictionary)
            {
                IHierarchicalSopInstanceReferenceMacro studyReference = CreateStudyReference(studyEntry.Key);

                List <IHierarchicalSeriesInstanceReferenceMacro> seriesReferences = new List <IHierarchicalSeriesInstanceReferenceMacro>();
                foreach (var seriesEntry in studyEntry.Value)
                {
                    var seriesReference = CreateSeriesReference(seriesEntry.Key.SeriesInstanceUid, seriesEntry.Key.RetrieveAeTitle, seriesEntry.Key.RetrieveLocationUid, seriesEntry.Key.StorageMediaFileSetId, seriesEntry.Key.StorageMediaFileSetUid);
                    seriesReference.ReferencedSopSequence = seriesEntry.Value.Select(sop => CreateSopReference(sop.Value, sop.Key)).ToArray();
                    seriesReferences.Add(seriesReference);
                }

                studyReference.ReferencedSeriesSequence = seriesReferences.ToArray();
                studyReferences.Add(studyReference);
            }

            return(studyReferences);
        }