private void SaveProtocolHelper(ProtocolAssignmentStep step, ProtocolDetail protocolDetail, List <OrderNoteDetail> notes, EntityRef supervisorRef, bool supervisorValidationRequired) { var protocol = step.Protocol; if (protocolDetail != null && supervisorRef != null) { throw new RequestValidationException("UpdateProtocolRequest should not specify both a ProtocolDetail and a SupervisorRef"); } if (supervisorValidationRequired && Thread.CurrentPrincipal.IsInRole(Extended.Common.AuthorityTokens.Workflow.Protocol.OmitSupervisor) == false && protocol.Supervisor == null && (protocolDetail == null || protocolDetail.Supervisor == null) && supervisorRef == null) { throw new SupervisorValidationException(); } if (protocolDetail != null) { var assembler = new ProtocolAssembler(); assembler.UpdateProtocol(protocol, protocolDetail, this.PersistenceContext); } if (supervisorRef != null) { var supervisor = this.PersistenceContext.Load <Staff>(supervisorRef); protocol.Supervisor = supervisor; } if (notes != null) { UpdateOrderNotes(step.Procedure.Order, notes); } }
public GetProtocolGroupDetailResponse GetProtocolGroupDetail(GetProtocolGroupDetailRequest request) { var protocolGroup = this.PersistenceContext.Load <ProtocolGroup>(request.ProtocolGroup.ProtocolGroupRef); var assembler = new ProtocolAssembler(); return(new GetProtocolGroupDetailResponse(assembler.CreateProtocolGroupDetail(protocolGroup, false, this.PersistenceContext))); }
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)); }
public ListProtocolGroupsForProcedureResponse ListProtocolGroupsForProcedure(ListProtocolGroupsForProcedureRequest request) { var assembler = new ProtocolAssembler(); var procedure = this.PersistenceContext.Load <Procedure>(request.ProcedureRef); var groups = CollectionUtils.Map <ProtocolGroup, ProtocolGroupSummary>( this.PersistenceContext.GetBroker <IProtocolGroupBroker>().FindAll(procedure.Type), assembler.CreateProtocolGroupSummary); var initialProtocolGroup = CollectionUtils.FirstElement(groups); return(new ListProtocolGroupsForProcedureResponse(groups, initialProtocolGroup)); }