protected override void OnInit(EventArgs e) { base.OnInit(e); StudyController studyController = new StudyController(); ServerPartitionConfigController partitionConfigController = new ServerPartitionConfigController(); string serverae = Request.QueryString[QUERY_KEY_SERVER_AE]; if (!String.IsNullOrEmpty(serverae)) { // Load the Partition ServerPartitionSelectCriteria partitionCriteria = new ServerPartitionSelectCriteria(); partitionCriteria.AeTitle.EqualTo(serverae); IList<ServerPartition> list = partitionConfigController.GetPartitions(partitionCriteria); this.Move.Partition = list[0]; for (int i = 1;; i++) { string studyuid = Request.QueryString[String.Format("{0}{1}", QUERY_KEY_STUDY_INSTANCE_UID, i)]; if (!String.IsNullOrEmpty(studyuid)) { _uids.Add(studyuid, serverae); StudySelectCriteria studyCriteria = new StudySelectCriteria(); studyCriteria.StudyInstanceUid.EqualTo(studyuid); studyCriteria.ServerPartitionKey.EqualTo(list[0].GetKey()); IList<Study> studyList = studyController.GetStudies(studyCriteria); this.Move.StudyGridView.StudyList.Add(studyList[0]); this.Move.StudyGridView.Partition = this.Move.Partition; } else break; } } SetPageTitle(Titles.MoveStudiesPageTitle); }
protected void Page_Load(object sender, EventArgs e) { ServerPartitionConfigController partitionConfigController = new ServerPartitionConfigController(); string serverae = Request.QueryString[ImageServerConstants.QueryStrings.ServerAE]; if (!String.IsNullOrEmpty(serverae)) { // Load the Partition ServerPartitionSelectCriteria partitionCriteria = new ServerPartitionSelectCriteria(); partitionCriteria.AeTitle.EqualTo(serverae); IList<ServerPartition> list = partitionConfigController.GetPartitions(partitionCriteria); Partition = list[0]; SeriesGridView.Partition = Partition; string studyuid = Request.QueryString[ImageServerConstants.QueryStrings.StudyUID]; if (!String.IsNullOrEmpty(studyuid) || Partition != null) { StudyController studyController = new StudyController(); StudySelectCriteria criteria = new StudySelectCriteria(); criteria.StudyInstanceUid.EqualTo(studyuid); criteria.ServerPartitionKey.EqualTo(Partition.Key); IList<Study> studyList = studyController.GetStudies(criteria); SelectedStudy = studyList[0]; SeriesGridView.Study = studyList[0]; PatientSummary.PatientSummary = PatientSummaryAssembler.CreatePatientSummary(studyList[0]); StudySummary.Study = studyList[0]; } } if (DHCPFilter.Items.Count == 0) { DHCPFilter.Items.Add(new ListItem(SR.All)); DHCPFilter.Items.Add(new ListItem(SR.DHCP)); DHCPFilter.Items.Add(new ListItem(SR.NoDHCP)); } IList<DeviceTypeEnum> deviceTypes = DeviceTypeEnum.GetAll(); if (DeviceTypeFilter.Items.Count == 0) { foreach (DeviceTypeEnum t in deviceTypes) { DeviceTypeFilter.Items.Add(new ListItem(ServerEnumDescription.GetLocalizedDescription(t), t.Lookup)); } } else { ListItem[] typeItems = new ListItem[DeviceTypeFilter.Items.Count]; DeviceTypeFilter.Items.CopyTo(typeItems, 0); DeviceTypeFilter.Items.Clear(); int count = 0; foreach (DeviceTypeEnum t in deviceTypes) { DeviceTypeFilter.Items.Add(new ListItem(ServerEnumDescription.GetLocalizedDescription(t), t.Lookup)); DeviceTypeFilter.Items[count].Selected = typeItems[count].Selected; count++; } } LoadSeries(); LoadDevices(); DataBind(); }
private static IList<StudySummary> LoadStudies(WebViewerInitParams initParams) { ValidateParameters(initParams); var controller = new StudyController(); var partitionAdapter = new ServerPartitionDataAdapter(); StudySelectCriteria studyCriteria; var partitionCriteria = new ServerPartitionSelectCriteria(); ServerPartition partition = null; IList<Study> studies; List<StudySummary> totalStudies = new List<StudySummary>(); if (!string.IsNullOrEmpty(initParams.AeTitle)) { partitionCriteria.AeTitle.EqualTo(initParams.AeTitle); IList<ServerPartition> partitions = partitionAdapter.GetServerPartitions(partitionCriteria); if (partitions.Count == 1) { partition = partitions[0]; } } foreach (string patientId in initParams.PatientIds) { studyCriteria = new StudySelectCriteria(); if (partition != null) studyCriteria.ServerPartitionKey.EqualTo(partition.Key); SetStringCondition(studyCriteria.PatientId, patientId); studyCriteria.StudyDate.SortDesc(0); studies = controller.GetStudies(studyCriteria); foreach (Study study in studies) { totalStudies.Add(StudySummaryAssembler.CreateStudySummary(HttpContextData.Current.ReadContext, study)); } } foreach (string accession in initParams.AccessionNumbers) { studyCriteria = new StudySelectCriteria(); if (partition != null) studyCriteria.ServerPartitionKey.EqualTo(partition.Key); SetStringCondition(studyCriteria.AccessionNumber, accession); studyCriteria.StudyDate.SortDesc(0); studies = controller.GetStudies(studyCriteria); foreach (Study study in studies) { totalStudies.Add(StudySummaryAssembler.CreateStudySummary(HttpContextData.Current.ReadContext, study)); } } if (initParams.StudyInstanceUids.Count > 0) { studyCriteria = new StudySelectCriteria(); if (partition != null) studyCriteria.ServerPartitionKey.EqualTo(partition.Key); studyCriteria.StudyInstanceUid.In(initParams.StudyInstanceUids); studyCriteria.StudyDate.SortDesc(0); studies = controller.GetStudies(studyCriteria); foreach (Study study in studies) { totalStudies.Add(StudySummaryAssembler.CreateStudySummary(HttpContextData.Current.ReadContext, study)); } } totalStudies.Sort((a, b) => a.StudyDate.CompareTo(b.StudyDate) * -1); return totalStudies; }