コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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)));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }