private void onRemoteSearchButtonClicked(object sender, RoutedEventArgs e) { StudyLevelQuery query = new StudyLevelQuery(); DateTime start = DateTime.Today.AddYears(-100), end = DateTime.Today; if (StudyDateStartPicker.SelectedDate != null) { start = StudyDateStartPicker.SelectedDate.Value; } if (StudyDateEndPicker.SelectedDate != null) { end = StudyDateEndPicker.SelectedDate.Value; } end = end.AddSeconds(86399); query.StudyDate = new DicomDateRange(start, end); query.PatientName = patientFullName(PatientNameBox, PatientSurnameBox); query.ModalitiesInStudy = ModalityBox.Text.ToString(); QueryRetrieve retrieveStudy = new QueryRetrieve(); retrieveStudy.OnDatasetArrived += showQueryResults; retrieveStudy.OnConnectionClosed += AllStudyArrived; listView.Items.Clear(); retrieveStudy.find(query, "Study"); }
public StudyLevelQuery getQueryFields() { StudyLevelQuery querySettings = new StudyLevelQuery(); querySettings.SetField("PatientName", PatientNameBox.Text); querySettings.SetField("PatientBirthDate", PatientBirthDatePicker.Text); querySettings.SetField("StudyDate", StudyDatePicker.Text); querySettings.SetField("StudyDescription", StudyDescriptionBox.Text); querySettings.SetField("Modality", ModalityBox.Text); return(querySettings); }
// ------------------QUERY WINDOW------------------------------ public void onSearchButtonClicked(string mode) { queryPage.stackPanel.Children.Clear(); StudyLevelQuery querySettings = queryPage.getQueryFields(); // search remote List <QueryObject> results = new List <QueryObject>(); if (mode == "remote") { results = explorerLogic.searchPatient(querySettings); } foreach (QueryObject result in results) { Button resultButton = new Button(); resultButton.Content = result.GetField("PatientName").Replace('^', ' ') + " " + result.GetField("StudyDescription").Replace('_', ' ') + " " + result.GetField("StudyDate") + " " + result.GetField("Modality"); resultButton.Click += (theSender, eventArgs) => { onStudyButtonClicked(result); }; queryPage.stackPanel.Children.Add(resultButton); } // search database DownloadedFileInfo d = new DownloadedFileInfo(); d.SetField("PatientName", queryPage.PatientNameBox.Text); List <DownloadedFileInfo> risultati = new List <DownloadedFileInfo>(); if (mode == "local") { risultati = database.Get(d, Constants.database); } foreach (DownloadedFileInfo result in risultati) { Button resultButton = new Button(); resultButton.Content = result.PatientName.Replace('^', ' ') + " " + result.StudyDescription.Replace('_', ' ') + " " + result.StudyDate + " " + result.Modality; resultButton.Click += (theSender, eventArgs) => { MessageBox.Show(XmlTools.getStoragePath(result)); }; queryPage.stackPanel.Children.Add(resultButton); } }