Пример #1
0
        public void StartSendRequest(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, Navigation.PageNavigator pageNavigator)
        {
            if (accessionOrder.AccessionLock.IsLockStillAquired() == true)
            {
                this.m_PageNavigator            = pageNavigator;
                this.m_PageNavigatorWasPassedIn = true;

                UI.AppMessaging.AccessionLockMessage message = new AccessionLockMessage(accessionOrder.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), accessionOrder.AccessionLock.Address, AccessionLockMessageIdEnum.ASK);
                YellowstonePathology.Store.RedisServerProd1.Instance.Subscriber.Publish(message.MasterAccessionNo, JsonConvert.SerializeObject(message));
                this.ShowLockRequestSentPage(accessionOrder);
            }
            else
            {
                accessionOrder.AccessionLock.RefreshLock();
                this.RunLockAquiredActionList();

                if (this.m_MessagingDialog != null)
                {
                    this.m_MessagingDialog.Close();
                    this.m_MessagingDialog = null;
                }

                if (this.LockWasReleased != null)
                {
                    this.LockWasReleased(this, new EventArgs());
                }
            }
        }
Пример #2
0
 public void Start(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, Navigation.PageNavigator pageNavigator)
 {
     if(this.m_DialogIsActive == false)
     {
         this.m_PageNavigator = pageNavigator;
         AppMessaging.LockRequestPage page = new AppMessaging.LockRequestPage(accessionOrder);
         pageNavigator.Navigate(page);
         this.m_DialogIsActive = true;
     }
 }
Пример #3
0
 public void Start(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, Navigation.PageNavigator pageNavigator)
 {
     if (this.m_DialogIsActive == false)
     {
         this.m_PageNavigator = pageNavigator;
         AppMessaging.LockRequestPage page = new AppMessaging.LockRequestPage(accessionOrder);
         pageNavigator.Navigate(page);
         this.m_DialogIsActive = true;
     }
 }
Пример #4
0
        public void StartRequestReceived(System.Messaging.Message message)
        {
            if (this.m_DialogIsActive == false)
            {
                MessagingDialog messagingDialog = new MessagingDialog();
                this.m_PageNavigator    = messagingDialog.PageNavigator;
                messagingDialog.Closed += MessagingDialog_Closed;

                AppMessaging.LockRequestReceivedPage lockRequestReceivedPage = new AppMessaging.LockRequestReceivedPage(message);
                messagingDialog.PageNavigator.Navigate(lockRequestReceivedPage);
                messagingDialog.Show();
                this.m_DialogIsActive = true;
            }
        }
Пример #5
0
        public void Start(YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            if(this.m_DialogIsActive == false)
            {
                MessagingDialog messagingDialog = new MessagingDialog();
                this.m_PageNavigator = messagingDialog.PageNavigator;
                messagingDialog.Closed += MessagingDialog_Closed;

                AppMessaging.LockRequestPage lockRequestPage = new AppMessaging.LockRequestPage(accessionOrder);
                lockRequestPage.RequestLock += LockRequestPage_RequestLock;

                messagingDialog.PageNavigator.Navigate(lockRequestPage);
                messagingDialog.Show();
                this.m_DialogIsActive = true;
            }
        }
Пример #6
0
        public void Start(YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            if (this.m_DialogIsActive == false)
            {
                MessagingDialog messagingDialog = new MessagingDialog();
                this.m_PageNavigator    = messagingDialog.PageNavigator;
                messagingDialog.Closed += MessagingDialog_Closed;

                AppMessaging.LockRequestPage lockRequestPage = new AppMessaging.LockRequestPage(accessionOrder);
                lockRequestPage.RequestLock += LockRequestPage_RequestLock;

                messagingDialog.PageNavigator.Navigate(lockRequestPage);
                messagingDialog.Show();
                this.m_DialogIsActive = true;
            }
        }
Пример #7
0
        public void Start(YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            if (accessionOrder.AccessionLock.IsLockAquiredByMe == false)
            {
                if (this.m_MessagingDialog == null)
                {
                    this.m_MessagingDialog = new MessagingDialog();
                }
                this.m_MessagingDialog.Topmost = true;
                this.m_PageNavigator           = this.m_MessagingDialog.PageNavigator;
                this.m_MessagingDialog.Closed += MessagingDialog_Closed;

                UI.AppMessaging.AccessionLockMessage message         = new AccessionLockMessage(accessionOrder.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), accessionOrder.AccessionLock.Address, AccessionLockMessageIdEnum.ASK);
                AppMessaging.LockRequestPage         lockRequestPage = new AppMessaging.LockRequestPage(accessionOrder);
                lockRequestPage.RequestLock += LockRequestPage_RequestLock;

                this.m_MessagingDialog.PageNavigator.Navigate(lockRequestPage);
                this.m_MessagingDialog.Show();
            }
        }
Пример #8
0
        public void HandleASKRecieved(Business.Test.AccessionOrder accessionOrder, AccessionLockMessage message)
        {
            if (this.m_AlwaysHoldList.Exists(e => e == System.Environment.MachineName.ToUpper()))
            {
                UI.AppMessaging.AccessionLockMessage holdMessage = new AccessionLockMessage(message.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), message.From, AccessionLockMessageIdEnum.HOLD);
                YellowstonePathology.Store.RedisServerProd1.Instance.Subscriber.Publish(holdMessage.MasterAccessionNo, JsonConvert.SerializeObject(holdMessage));
            }
            else
            {
                if (this.m_MessagingDialog == null)
                {
                    this.m_MessagingDialog = new MessagingDialog();
                }
                this.m_PageNavigator           = this.m_MessagingDialog.PageNavigator;
                this.m_MessagingDialog.Closed += MessagingDialog_Closed;

                AppMessaging.LockRequestReceivedPage lockRequestReceivedPage = new AppMessaging.LockRequestReceivedPage(accessionOrder, message);
                lockRequestReceivedPage.Take += LockRequestReceivedPage_Take;
                lockRequestReceivedPage.Hold += LockRequestReceivedPage_Hold;

                this.m_MessagingDialog.PageNavigator.Navigate(lockRequestReceivedPage);
                this.m_MessagingDialog.Show();
            }
        }
Пример #9
0
        public void StartRequestReceived(System.Messaging.Message message)
        {
            if (this.m_DialogIsActive == false)
            {
                MessagingDialog messagingDialog = new MessagingDialog();
                this.m_PageNavigator = messagingDialog.PageNavigator;
                messagingDialog.Closed += MessagingDialog_Closed;

                AppMessaging.LockRequestReceivedPage lockRequestReceivedPage = new AppMessaging.LockRequestReceivedPage(message);
                messagingDialog.PageNavigator.Navigate(lockRequestReceivedPage);
                messagingDialog.Show();
                this.m_DialogIsActive = true;
            }
        }
Пример #10
0
        public void StartSendRequest(YellowstonePathology.Business.Test.AccessionOrder accessionOrder, Navigation.PageNavigator pageNavigator)
        {
            if (accessionOrder.AccessionLock.IsLockStillAquired() == true)
            {
                this.m_PageNavigator = pageNavigator;
                this.m_PageNavigatorWasPassedIn = true;

                UI.AppMessaging.AccessionLockMessage message = new AccessionLockMessage(accessionOrder.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), accessionOrder.AccessionLock.Address, AccessionLockMessageIdEnum.ASK);
                ISubscriber subscriber = Business.RedisConnection.Instance.GetSubscriber();
                subscriber.Publish(message.MasterAccessionNo, JsonConvert.SerializeObject(message));

                this.ShowLockRequestSentPage(accessionOrder);
            }
            else
            {
                accessionOrder.AccessionLock.RefreshLock();
                this.RunLockAquiredActionList();
                this.m_MessagingDialog.Close();
                this.m_MessagingDialog = null;
            }
        }
Пример #11
0
        public void Start(YellowstonePathology.Business.Test.AccessionOrder accessionOrder)
        {
            if(accessionOrder.AccessionLock.IsLockAquiredByMe == false)
            {
                if(this.m_MessagingDialog == null) this.m_MessagingDialog = new MessagingDialog();
                this.m_PageNavigator = this.m_MessagingDialog.PageNavigator;
                this.m_MessagingDialog.Closed += MessagingDialog_Closed;

                UI.AppMessaging.AccessionLockMessage message = new AccessionLockMessage(accessionOrder.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), accessionOrder.AccessionLock.Address, AccessionLockMessageIdEnum.ASK);
                AppMessaging.LockRequestPage lockRequestPage = new AppMessaging.LockRequestPage(accessionOrder);
                lockRequestPage.RequestLock += LockRequestPage_RequestLock;

                this.m_MessagingDialog.PageNavigator.Navigate(lockRequestPage);
                this.m_MessagingDialog.Show();
            }
        }
Пример #12
0
        public void HandleASKRecieved(Business.Test.AccessionOrder accessionOrder, AccessionLockMessage message)
        {
            if (this.m_AlwaysHoldList.Exists(e => e == System.Environment.MachineName.ToUpper()))
            {
                UI.AppMessaging.AccessionLockMessage holdMessage = new AccessionLockMessage(message.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), message.From, AccessionLockMessageIdEnum.HOLD);
                ISubscriber subscriber = Business.RedisConnection.Instance.GetSubscriber();
                subscriber.Publish(holdMessage.MasterAccessionNo, JsonConvert.SerializeObject(holdMessage));
            }
            else
            {
                if(this.m_MessagingDialog == null) this.m_MessagingDialog = new MessagingDialog();
                this.m_PageNavigator = this.m_MessagingDialog.PageNavigator;
                this.m_MessagingDialog.Closed += MessagingDialog_Closed;

                AppMessaging.LockRequestReceivedPage lockRequestReceivedPage = new AppMessaging.LockRequestReceivedPage(accessionOrder, message);
                lockRequestReceivedPage.Take += LockRequestReceivedPage_Take;
                lockRequestReceivedPage.Hold += LockRequestReceivedPage_Hold;

                this.m_MessagingDialog.PageNavigator.Navigate(lockRequestReceivedPage);
                this.m_MessagingDialog.Show();
            }
        }