示例#1
0
        public void SendLockReleaseRequest(Business.Test.AccessionOrder accessionOrder)
        {
            LockReleaseRequestMessageBody messageBody = new LockReleaseRequestMessageBody(accessionOrder.MasterAccessionNo, accessionOrder.LockAquiredByUserName, accessionOrder.LockAquiredByHostName, accessionOrder.TimeLockAquired.Value);

            System.Messaging.Message message = new System.Messaging.Message(messageBody);

            message.ResponseQueue = new System.Messaging.MessageQueue(Environment.MachineName + "\\" + LockReleaseResponseQueueName);
            System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(messageBody.LockAquiredByHostName + "\\" + LockReleaseRequestQueueName);
            queue.Send(message);

            MessageQueueMessage messageQueueMessage = new MessageQueueMessage(message, MessageDirectionEnum.Sent);

            this.m_MessageCollection.Insert(0, messageQueueMessage);
        }
示例#2
0
        private void LockReleaseRequestMessageQueue_ReceiveCompleted(object sender, System.Messaging.ReceiveCompletedEventArgs e)
        {
            System.Messaging.Message receivedMessage = this.m_LockReleaseRequestQueue.EndReceive(e.AsyncResult);

            MessageQueueMessage receviedMessageQueueMessage = new MessageQueueMessage(receivedMessage, MessageDirectionEnum.Received);

            this.m_MessageCollection.Add(receviedMessageQueueMessage);

            this.m_LockReleaseRequestQueue.BeginReceive();
            if (RequestReceived != null)
            {
                this.RequestReceived(this, new UI.CustomEventArgs.MessageReturnEventArgs(receivedMessage));
            }
        }
示例#3
0
        private void LockReleaseResponseMessageQueue_ReceiveCompleted(object sender, System.Messaging.ReceiveCompletedEventArgs e)
        {
            System.Messaging.Message message = this.m_LockReleaseResponseQueue.EndReceive(e.AsyncResult);
            MessageBody messageBody          = (MessageBody)message.Body;

            MessageQueueMessage messageQueueMessage = new MessageQueueMessage(message, MessageDirectionEnum.Received);

            this.m_MessageCollection.Add(messageQueueMessage);

            this.m_LockReleaseResponseQueue.BeginReceive();
            if (this.AquireLock != null)
            {
                this.AquireLock(messageBody.MasterAccessionNo, new EventArgs());
            }
            if (ResponseReceived != null)
            {
                this.ResponseReceived(this, new UI.CustomEventArgs.MessageReturnEventArgs(message));
            }
        }
示例#4
0
        public void SendLockReleaseResponse(System.Messaging.Message requestMessage, bool releaseLock)
        {
            MessageBody receivedMessageBody = (MessageBody)requestMessage.Body;
            LockReleaseResponseMessageBody responseMessageBody = new LockReleaseResponseMessageBody(receivedMessageBody, releaseLock);

            if (releaseLock == true)
            {
                if (this.ReleaseLock != null)
                {
                    this.ReleaseLock(receivedMessageBody.MasterAccessionNo, new EventArgs());
                }
            }

            System.Messaging.Message responseMessage = new System.Messaging.Message(responseMessageBody);
            requestMessage.ResponseQueue.Send(responseMessage);

            MessageQueueMessage responseMessageQueueMessage = new MessageQueueMessage(responseMessage, MessageDirectionEnum.Sent);

            this.m_MessageCollection.Add(responseMessageQueueMessage);
        }
示例#5
0
        private void LockReleaseResponseMessageQueue_ReceiveCompleted(object sender, System.Messaging.ReceiveCompletedEventArgs e)
        {
            System.Messaging.Message message = this.m_LockReleaseResponseQueue.EndReceive(e.AsyncResult);
            MessageBody messageBody = (MessageBody)message.Body;

            MessageQueueMessage messageQueueMessage = new MessageQueueMessage(message, MessageDirectionEnum.Received);
            this.m_MessageCollection.Add(messageQueueMessage);

            this.m_LockReleaseResponseQueue.BeginReceive();
            if (this.AquireLock != null) this.AquireLock(messageBody.MasterAccessionNo, new EventArgs());
            if (ResponseReceived != null) this.ResponseReceived(this, new UI.CustomEventArgs.MessageReturnEventArgs(message));
        }
示例#6
0
        private void LockReleaseRequestMessageQueue_ReceiveCompleted(object sender, System.Messaging.ReceiveCompletedEventArgs e)
        {
            System.Messaging.Message receivedMessage = this.m_LockReleaseRequestQueue.EndReceive(e.AsyncResult);

            MessageQueueMessage receviedMessageQueueMessage = new MessageQueueMessage(receivedMessage, MessageDirectionEnum.Received);
            this.m_MessageCollection.Add(receviedMessageQueueMessage);

            this.m_LockReleaseRequestQueue.BeginReceive();
            if (RequestReceived != null) this.RequestReceived(this, new UI.CustomEventArgs.MessageReturnEventArgs(receivedMessage));
        }
示例#7
0
        public void SendLockReleaseResponse(System.Messaging.Message requestMessage, bool releaseLock)
        {
            MessageBody receivedMessageBody = (MessageBody)requestMessage.Body;
            LockReleaseResponseMessageBody responseMessageBody = new LockReleaseResponseMessageBody(receivedMessageBody, releaseLock);

            if(releaseLock == true) if (this.ReleaseLock != null) this.ReleaseLock(receivedMessageBody.MasterAccessionNo, new EventArgs());

            System.Messaging.Message responseMessage = new System.Messaging.Message(responseMessageBody);
            requestMessage.ResponseQueue.Send(responseMessage);

            MessageQueueMessage responseMessageQueueMessage = new MessageQueueMessage(responseMessage, MessageDirectionEnum.Sent);
            this.m_MessageCollection.Add(responseMessageQueueMessage);
        }
示例#8
0
        public void SendLockReleaseRequest(Business.Test.AccessionOrder accessionOrder)
        {
            LockReleaseRequestMessageBody messageBody = new LockReleaseRequestMessageBody(accessionOrder.MasterAccessionNo, accessionOrder.LockAquiredByUserName, accessionOrder.LockAquiredByHostName, accessionOrder.TimeLockAquired.Value);
            System.Messaging.Message message = new System.Messaging.Message(messageBody);

            message.ResponseQueue = new System.Messaging.MessageQueue(Environment.MachineName + "\\" + LockReleaseResponseQueueName);
            System.Messaging.MessageQueue queue = new System.Messaging.MessageQueue(messageBody.LockAquiredByHostName + "\\" + LockReleaseRequestQueueName);
            queue.Send(message);

            MessageQueueMessage messageQueueMessage = new MessageQueueMessage(message, MessageDirectionEnum.Sent);
            this.m_MessageCollection.Insert(0, messageQueueMessage);
        }