public void TestOpenStudiesFault()
		{
			var referenceObject = new OpenStudiesFault
			                      	{
			                      		FailureDescription = "hello"
			                      	};

			var currentObject = TestResponseContractCompatibility<BaselineDataContracts.OpenStudiesFault>(referenceObject);
			Assert.AreEqual(referenceObject.FailureDescription, currentObject.FailureDescription);
		}
        public void TestOpenStudiesFault()
        {
            var referenceObject = new OpenStudiesFault
            {
                FailureDescription = "hello"
            };

            var currentObject = TestResponseContractCompatibility <BaselineDataContracts.OpenStudiesFault>(referenceObject);

            Assert.AreEqual(referenceObject.FailureDescription, currentObject.FailureDescription);
        }
Example #3
0
        private static void CompleteOpenStudyInfo(List <OpenStudyInfo> openStudyInfo)
        {
            var incomplete = openStudyInfo.Where(info => String.IsNullOrEmpty(info.SourceAETitle)).ToList();

            //only go looking for studies if the source ae title is unspecified.
            if (incomplete.Count == 0)
            {
                return;
            }

            List <string> incompleteStudyUids = incomplete.Select(info => info.StudyInstanceUid).ToList();

            using (var bridge = new StudyLocatorBridge(GetStudyLocator()))
            {
                LocateFailureInfo[] queryFailures;
                IList <StudyRootStudyIdentifier> foundStudies = bridge.LocateStudyByInstanceUid(incompleteStudyUids, out queryFailures);
                foreach (StudyRootStudyIdentifier study in foundStudies)
                {
                    foreach (OpenStudyInfo info in openStudyInfo)
                    {
                        if (info.StudyInstanceUid == study.StudyInstanceUid)
                        {
                            info.SourceAETitle = study.RetrieveAeTitle;
                            break;
                        }
                    }
                }

                var unlocated = openStudyInfo.Where(info => string.IsNullOrEmpty(info.SourceAETitle)).Select(info => info.StudyInstanceUid).ToArray();
                if (unlocated.Any())
                {
                    var fault = new OpenStudiesFault(string.Format("One or more specified studies could not be opened: {0}", string.Join(", ", unlocated)));
                    throw new FaultException <OpenStudiesFault>(fault, fault.FailureDescription);
                }
            }
        }