private void GetStudies() { var success = false; var message = "Unidentified failure."; try { Dispatcher.BeginInvoke(new ClearStudyResponsesDelegate(() => StudyResponses.Clear())); var findStudy = new CFindStudyClient { CallingAE = CallingApplicationEntityTitle, CalledAE = CalledApplicationEntityTitle }; findStudy.OnCFindResponse += delegate(CFindStudyQuery query, CFindStudyResponse result) { if (result != null) { Dispatcher.BeginInvoke(new AddToStudyResponsesDelegate(r => StudyResponses.Add(r)), result); } }; findStudy.AddQuery(new CFindStudyQuery()); findStudy.Connect(DicomHost, ServerPort, DcmSocketType.TCP); if (findStudy.Wait()) { success = true; } else { message = findStudy.ErrorMessage; } } catch (Exception exception) { message = exception.Message; } if (!success) { MessageBox.Show(message, "C-FIND Study error", MessageBoxButton.OK); } }
private void QueryButtonClick(object sender, RoutedEventArgs e) { var success = false; var message = "Unidentified failure."; try { Dispatcher.BeginInvoke(new ClearStudyResponsesDelegate(() => StudyResponses.Clear())); var findStudy = new CFindStudyClient { CallingAE = callingAetTextBox.Text, CalledAE = calledAetTextBox.Text }; findStudy.OnCFindResponse += delegate(CFindStudyQuery query, CFindStudyResponse result) { if (result != null) { Dispatcher.BeginInvoke(new AddToStudyResponsesDelegate(r => StudyResponses.Add(r)), result); } }; findStudy.AddQuery(new CFindStudyQuery()); findStudy.Connect(hostTextBox.Text, Int32.Parse(portTextBox.Text), DcmSocketType.TCP); if (findStudy.Wait()) { success = true; } else { message = findStudy.ErrorMessage; } } catch (Exception exception) { message = exception.Message; } if (!success) { MessageBox.Show(message, "C-FIND Study error", MessageBoxButton.OK, MessageBoxImage.Warning); } }