private void CancelTestWarningPage_CancelTest(object sender, CustomEventArgs.CancelTestEventArgs e) { YellowstonePathology.Business.Interface.IOrderTarget orderTarget = e.AccessionOrder.SpecimenOrderCollection.GetOrderTarget(e.PanelSetOrder.OrderedOnId); Business.Test.TestCancelled.TestCancelledTest cancelledTest = new Business.Test.TestCancelled.TestCancelledTest(); YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo = new Business.Test.TestOrderInfo(cancelledTest, orderTarget, true); YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Business.Visitor.OrderTestOrderVisitor(testOrderInfo); e.AccessionOrder.PanelSetOrderCollection.Remove(e.PanelSetOrder); e.AccessionOrder.TakeATrip(orderTestOrderVisitor); Business.Test.TestCancelled.TestCancelledTestOrder testCancelledTestOrder = (Business.Test.TestCancelled.TestCancelledTestOrder)orderTestOrderVisitor.PanelSetOrder; testCancelledTestOrder.CancelledTestId = e.PanelSetOrder.PanelSetId; testCancelledTestOrder.CancelledTestName = e.PanelSetOrder.PanelSetName; testCancelledTestOrder.Distribute = false; testCancelledTestOrder.NoCharge = true; testCancelledTestOrder.Comment = e.ReasonForCancelation; this.ShowTestCancelledResultPage(testCancelledTestOrder, e.AccessionOrder); }
private void MenuItemCancelTest_Click(object sender, RoutedEventArgs e) { if (this.ListViewAccessionOrders.SelectedItem != null) { MessageBoxResult messageBoxResult = MessageBox.Show("Are you sure you want to cancel this test?", "Cancel Test", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes); if (messageBoxResult == MessageBoxResult.Yes) { YellowstonePathology.Business.Search.ReportSearchItem reportSearchItem = (YellowstonePathology.Business.Search.ReportSearchItem) this.ListViewAccessionOrders.SelectedItem; YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.GetPanelSetOrder(reportSearchItem.ReportNo); if (panelSetOrder.Final == false) { string reportNo = panelSetOrder.ReportNo; string testName = panelSetOrder.PanelSetName; int panelSetId = panelSetOrder.PanelSetId; YellowstonePathology.Business.Interface.IOrderTarget orderTarget = this.m_LoginUI.AccessionOrder.SpecimenOrderCollection.GetOrderTarget(panelSetOrder.OrderedOnId); Business.Test.TestCancelled.TestCancelledTest cancelledTest = new Business.Test.TestCancelled.TestCancelledTest(); YellowstonePathology.Business.Test.TestOrderInfo testOrderInfo = new Business.Test.TestOrderInfo(cancelledTest, orderTarget, true); YellowstonePathology.Business.Visitor.OrderTestOrderVisitor orderTestOrderVisitor = new Business.Visitor.OrderTestOrderVisitor(testOrderInfo); this.m_LoginUI.AccessionOrder.PanelSetOrderCollection.Remove(panelSetOrder); YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Save(); this.m_LoginUI.AccessionOrder.TakeATrip(orderTestOrderVisitor); Business.Test.TestCancelled.TestCancelledTestOrder testCancelledTestOrder = (Business.Test.TestCancelled.TestCancelledTestOrder)orderTestOrderVisitor.PanelSetOrder; testCancelledTestOrder.Comment = testName + " has been cancelled."; testCancelledTestOrder.CancelledTestId = panelSetId; testCancelledTestOrder.CancelledTestName = testName; YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Save(); this.m_LoginUI.GetReportSearchListByReportNo(panelSetOrder.ReportNo); } else { MessageBox.Show("Cannot cancel a test that has been finalized."); } } } }