예제 #1
0
        public override void HandleTransactionFrom(ActorNameEnum actorName, DicomTransaction dicomTransaction)
        {
            switch (actorName)
            {
            case ActorNameEnum.AcquisitionModality:
            // received Modality Procedure Step In Progress [RAD-6] or
            // received Modality Procedur Step Completed [RAD-7]
            case ActorNameEnum.EvidenceCreator:
            {
                // received Creator Procedure Step In Progress [RAD-20] or
                // received Creator Procedure Step Completed [RAD-21]
                TransactionNameEnum transactionName = dicomTransaction.TransactionName;
                DicomMessage        dicomMessage    = (DicomMessage)dicomTransaction.DicomMessages[0];

                // make a trigger from the transaction message
                DicomTrigger dicomTrigger = new DicomTrigger(transactionName);
                dicomTrigger.Trigger = dicomMessage;

                // trigger the following actors
                TriggerActor(ActorNameEnum.DssOrderFiller, dicomTrigger);
                TriggerActor(ActorNameEnum.ImageManager, dicomTrigger);
                break;
            }

            default:
                break;
            }
        }
예제 #2
0
        public void TriggerClient(ActorNameEnum actorName, BaseTrigger trigger)
        {
            DicomTrigger dicomTrigger = (DicomTrigger)trigger;

            _scu.Trigger(dicomTrigger.Trigger, _presentationContexts);
        }