public GetProcedureProtocolResponse GetProcedureProtocol(GetProcedureProtocolRequest request) { var procedure = this.PersistenceContext.Load <Procedure>(request.ProcedureRef); var assembler = new ProtocolAssembler(); return(procedure.ActiveProtocol != null ? new GetProcedureProtocolResponse(assembler.CreateProtocolDetail(procedure.ActiveProtocol, this.PersistenceContext)) : new GetProcedureProtocolResponse(null)); }
private void LoadWorklistItem(IProtocollingWorkflowService service) { if (_worklistItem == null) { return; } var protocolRequest = new GetProcedureProtocolRequest(_worklistItem.ProcedureRef); var protocolResponse = service.GetProcedureProtocol(protocolRequest); _protocolDetail = protocolResponse.ProtocolDetail; var sb = new StringBuilder(); foreach (var procedure in _protocolDetail.Procedures) { sb.Append(ProcedureFormat.Format(procedure) + ", "); } _proceduresText = sb.ToString().TrimEnd(", ".ToCharArray()); // Load available protocol groups var request = new ListProtocolGroupsForProcedureRequest(_worklistItem.ProcedureRef); var response = service.ListProtocolGroupsForProcedure(request); _protocolGroupChoices = response.ProtocolGroups; _protocolGroup = GetInitialProtocolGroup(); RefreshAvailableProtocolCodes(_protocolDetail.Codes, service); // fill out selected item codes _selectedProtocolCodes.Items.Clear(); _selectedProtocolCodes.Items.AddRange(_protocolDetail.Codes); if (Thread.CurrentPrincipal.IsInRole(ClearCanvas.Ris.Application.Common.AuthorityTokens.Workflow.Protocol.SubmitForReview) && _protocolDetail.Supervisor == null) { // if this user has a default supervisor, retreive it, otherwise leave supervisor as null if (_rememberSupervisor && !String.IsNullOrEmpty(ProtocollingSettings.Default.SupervisorID)) { _protocolDetail.Supervisor = GetStaffByID(ProtocollingSettings.Default.SupervisorID); } } NotifyPropertyChanged("ProtocolGroupChoices"); NotifyPropertyChanged("ProtocolGroup"); NotifyPropertyChanged("SetDefaultProtocolGroupEnabled"); NotifyPropertyChanged("Urgency"); }