Exemple #1
0
        private void ValidateSopInstanceExists(DicomDataset ds)
        {
            var queryFactory = new DataAccess.Matching.ConditionFactory();

            queryFactory.BeginProcessingElements();

            queryFactory.ProcessElement(ds.First(n => n.Tag == DicomTag.SOPInstanceUID));

            IEnumerable <DicomDataset> queryDs = DataAccessHelper.DataAccess.Search(queryFactory.EndProcessingElements( ),
                                                                                    new QueryOptions( ), Enum.GetName(typeof(ObjectQueryLevel),
                                                                                                                      ObjectQueryLevel.Instance));

            Assert.IsNotNull(queryDs);
            Assert.AreEqual(queryDs.Count( ), 1);
            Assert.AreEqual(ds.GetSingleValue <string>(DicomTag.SOPInstanceUID), queryDs.First( ).GetSingleValue <string>(DicomTag.SOPInstanceUID));
        }
Exemple #2
0
        private void ValidateStoredMatchQuery(DicomDataset[] storedDs)
        {
            var queryDs          = DicomHelper.GetQueryDataset( );
            var queryFactory     = new DataAccess.Matching.ConditionFactory();
            var matchingElements = queryFactory.ProcessDataSet(queryDs);

            var results = DataAccessHelper.DataAccess.Search(matchingElements,
                                                             new QueryOptions( ),
                                                             DICOMcloud.ObjectQueryLevelConstants.Instance);

            foreach (var ds in results)
            {
                var sopUid = ds.Get <string> (DicomTag.SOPInstanceUID);

                var stored = storedDs.Where(n => n.Get <string> (DicomTag.SOPInstanceUID) == sopUid).FirstOrDefault( );

                Assert.IsNotNull(stored);

                foreach (var element in stored)
                {
                    Assert.AreEqual(stored.Get <string> (element.Tag), ds.Get <string> (element.Tag));
                }
            }
        }