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)); }
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)); }