Beispiel #1
0
        /// <summary>
        /// Constructs an instance of <see cref="ExternalRequestQueueSummary"/> based on a <see cref="ExternalRequestQueue"/> object.
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        /// <remark>
        /// </remark>
        private ExternalRequestQueueSummary CreateExternalRequestQueueSummary(ExternalRequestQueue item)
        {
            var summary = new ExternalRequestQueueSummary
            {
                TheExternalRequestQueue = item,
                ThePartition            = Partition,
                Request = ImageServerSerializer.DeserializeExternalRequest(item.RequestXml)
            };

            return(summary);
        }
Beispiel #2
0
        protected override void OnExecute(CommandProcessor theProcessor, IUpdateContext updateContext)
        {
            var insert = updateContext.GetBroker <IInsertWorkQueue>();
            var parms  = new InsertWorkQueueParameters
            {
                WorkQueueTypeEnum  = WorkQueueTypeEnum.StudyProcess,
                StudyStorageKey    = _storageLocation.GetKey(),
                ServerPartitionKey = _storageLocation.ServerPartitionKey,
                SeriesInstanceUid  = _message.DataSet[DicomTags.SeriesInstanceUid].GetString(0, String.Empty),
                SopInstanceUid     = _message.DataSet[DicomTags.SopInstanceUid].GetString(0, String.Empty),
                ScheduledTime      = Platform.Time,
            };

            if (_priority != null)
            {
                parms.WorkQueuePriorityEnum = _priority;
            }

            if (_data != null)
            {
                parms.WorkQueueData = ImageServerSerializer.SerializeWorkQueueDataToXmlDocument(_data);
            }
            if (_request != null)
            {
                parms.ExternalRequestQueueKey = _request.Key;
            }
            if (_uidData != null)
            {
                parms.WorkQueueUidData = _uidData;
                parms.Extension        = _uidData.Extension;
                parms.UidGroupID       = _uidData.GroupId;
                parms.WorkQueueGroupID = _uidData.GroupId;
            }

            if (_duplicate)
            {
                parms.Duplicate = _duplicate;
            }

            _insertedWorkQueue = insert.FindOne(parms);

            if (_insertedWorkQueue == null)
            {
                throw new ApplicationException("UpdateWorkQueueCommand failed");
            }
        }