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(); } }
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()); } } }
private void LockRequestReceivedPage_Hold(object sender, CustomEventArgs.AccessionLockMessageReturnEventArgs e) { UI.AppMessaging.AccessionLockMessage message = new AccessionLockMessage(e.Message.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), e.Message.From, AccessionLockMessageIdEnum.HOLD); YellowstonePathology.Store.RedisServerProd1.Instance.Subscriber.Publish(message.MasterAccessionNo, JsonConvert.SerializeObject(message)); this.m_MessagingDialog.Close(); }
private void LockRequestReceivedPage_Take(object sender, CustomEventArgs.AOAccessionLockMessageReturnEventArgs e) { this.RunLockReleasedActionList(); this.m_MessagingDialog.Close(); YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Save(); e.AccessionOrder.AccessionLock.TransferLock(e.Message.From); UI.AppMessaging.AccessionLockMessage message = new AccessionLockMessage(e.Message.MasterAccessionNo, AccessionLockMessage.GetMyAddress(), e.Message.From, AccessionLockMessageIdEnum.GIVE); YellowstonePathology.Store.RedisServerProd1.Instance.Subscriber.Publish(message.MasterAccessionNo, JsonConvert.SerializeObject(message)); }
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(); } }