Esempio n. 1
0
		public TextQueryResponse<ModalityWorklistItemSummary> SearchWorklists(WorklistItemTextQueryRequest request)
		{
			var assembler = new ModalityWorkflowAssembler();
			var broker = this.PersistenceContext.GetBroker<IModalityWorklistItemBroker>();
			return SearchHelper<WorklistItem, ModalityWorklistItemSummary>(
				request,
				broker,
				WorklistItemProjection.ModalityWorklistSearch,
				item => assembler.CreateWorklistItemSummary(item, this.PersistenceContext));
		}
Esempio n. 2
0
		public TextQueryResponse<ReportingWorklistItemSummary> SearchWorklists(WorklistItemTextQueryRequest request)
		{
			var procedureStepClass = request.ProcedureStepClassName == null ? null
				: ProcedureStep.GetSubClass(request.ProcedureStepClassName, PersistenceContext);

			// decide which broker/projection to use for searching
			var isReporting = typeof (ReportingProcedureStep).IsAssignableFrom(procedureStepClass);
			var broker = isReporting ?
				(IWorklistItemBroker)PersistenceContext.GetBroker<IReportingWorklistItemBroker>()
				: PersistenceContext.GetBroker<IProtocolWorklistItemBroker>();

			var projection = isReporting ? 
				WorklistItemProjection.ReportingWorklistSearch :
				WorklistItemProjection.ProtocolWorklistSearch;
			

			var assembler = new ReportingWorkflowAssembler();
			return SearchHelper<ReportingWorklistItem, ReportingWorklistItemSummary>(
				request,
				broker,
				projection,
				item => assembler.CreateWorklistItemSummary(item, PersistenceContext));
		}