Esempio n. 1
0
        public override void AcceptResults(YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus, YellowstonePathology.Business.Test.AccessionOrder accessionOrder, Business.User.SystemUser acceptingUser)
        {
            YellowstonePathology.Business.Rules.ExecutionStatus executionStatus = new YellowstonePathology.Business.Rules.ExecutionStatus();
            YellowstonePathology.Business.Test.PanelSetOrder    panelSetOrder   = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(this.ReportNo);
            if (panelSetOrder.Final == true)
            {
                executionStatus.AddMessage(this.ReportNo + " is already finaled.", true);
                ruleExecutionStatus.PopulateFromLinqExecutionStatus(executionStatus);
                return;
            }

            if (this.Accepted == true)
            {
                executionStatus.AddMessage(this.ReportNo + " Acid Wash result has already been accepted.", true);
                ruleExecutionStatus.PopulateFromLinqExecutionStatus(executionStatus);
                return;
            }

            this.Accepted     = true;
            this.AcceptedById = acceptingUser.UserId;
            this.AcceptedDate = DateTime.Today;
            this.AcceptedTime = DateTime.Now;

            this.Acknowledged     = true;
            this.AcknowledgedById = acceptingUser.UserId;
            this.AcknowledgedDate = DateTime.Today;
            this.AcknowledgedTime = DateTime.Now;
        }
 private void MainWindowCommandButtonHandler_AssignCase(object sender, EventArgs e)
 {
     YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus = this.m_PathologistUI.AssignCurrentUser();
     if (ruleExecutionStatus.ExecutionHalted == true)
     {
         YellowstonePathology.UI.RuleExecutionStatusDialog dialog = new RuleExecutionStatusDialog(ruleExecutionStatus);
         dialog.ShowDialog();
     }
     this.ReleaseLock();
     this.m_PathologistUI.DoGenericSearch();
 }
Esempio n. 3
0
        private void ButtonOK_Click(object sender, RoutedEventArgs e)
        {
            YellowstonePathology.Business.Rules.PanelSetOrder.ReassignCase reassignCase    = new YellowstonePathology.Business.Rules.PanelSetOrder.ReassignCase();
            YellowstonePathology.Business.Rules.ExecutionStatus            executionStatus = new YellowstonePathology.Business.Rules.ExecutionStatus();
            reassignCase.Execute(executionStatus, this.m_PanelSetOrder, CreateAmendment, this.m_SystemIdentity);

            if (executionStatus.Halted)
            {
                YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus = new YellowstonePathology.Business.Rules.RuleExecutionStatus();
                ruleExecutionStatus.PopulateFromLinqExecutionStatus(executionStatus);
                RuleExecutionStatusDialog ruleExecutionStatusDialog = new RuleExecutionStatusDialog(ruleExecutionStatus);
                ruleExecutionStatusDialog.ShowDialog();
                return;
            }
            Close();
        }
Esempio n. 4
0
        public YellowstonePathology.Business.Rules.RuleExecutionStatus AssignCurrentUser()
        {
            YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus = new YellowstonePathology.Business.Rules.RuleExecutionStatus();
            foreach (YellowstonePathology.Business.Search.PathologistSearchResult item in this.m_Results)
            {
                if (item.Assign && item.GroupType != "Flow" && item.GroupType != "Cytology")
                {
                    YellowstonePathology.Business.Rules.Surgical.RulesAssignPathologistId rule = YellowstonePathology.Business.Rules.Surgical.RulesAssignPathologistId.Instance;
                    YellowstonePathology.Business.Test.AccessionOrder accessionOrder           = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(item.MasterAccessionNo, this);
                    YellowstonePathology.Business.Test.PanelSetOrder  panelSetOrder            = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(item.ReportNo);
                    rule.AccessionOrder = accessionOrder;
                    rule.PanelSetOrder  = panelSetOrder;
                    rule.Run(ruleExecutionStatus);

                    if (ruleExecutionStatus.ExecutionHalted == false)
                    {
                        YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Push(this);
                    }
                }
            }
            return(ruleExecutionStatus);
        }
Esempio n. 5
0
        public YellowstonePathology.Business.Rules.RuleExecutionStatus AssignCurrentUser()
        {
            YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus = new YellowstonePathology.Business.Rules.RuleExecutionStatus();
            foreach (YellowstonePathology.Business.Search.PathologistSearchResult item in this.m_Results)
            {
                if (item.Assign && item.GroupType != "Flow" && item.GroupType != "Cytology")
                {
                    YellowstonePathology.Business.Rules.Surgical.RulesAssignPathologistId rule = YellowstonePathology.Business.Rules.Surgical.RulesAssignPathologistId.Instance;
                    YellowstonePathology.Business.Test.AccessionOrder accessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(item.MasterAccessionNo, this);
                    YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrder(item.ReportNo);
                    rule.AccessionOrder = accessionOrder;
                    rule.PanelSetOrder = panelSetOrder;
                    rule.Run(ruleExecutionStatus);

                    if (ruleExecutionStatus.ExecutionHalted == false)
                    {
                        YellowstonePathology.Business.Persistence.DocumentGateway.Instance.Push(this);
                    }
                }
            }
            return ruleExecutionStatus;
        }
Esempio n. 6
0
 public RuleExecutionStatusDialog(YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus)
 {
     this.m_RuleExecutionStatus = ruleExecutionStatus;
     InitializeComponent();
     this.DataContext = this.m_RuleExecutionStatus;
 }
Esempio n. 7
0
 public virtual void SetResultsAsNormal(AccessionOrder accessionOrder, YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus)
 {
     System.Windows.MessageBox.Show("Set Results As Normal is not implemented.");
 }
Esempio n. 8
0
 public virtual void Run(YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus)
 {
     this.m_RuleExecutionStatus = ruleExecutionStatus;
     this.Execute();
 }
Esempio n. 9
0
        public void MenuItemAcceptResults_Click(object sender, RoutedEventArgs args)
        {
            Control menuItem = (Control)sender;
            YellowstonePathology.Business.Test.PanelOrder panelOrder = (YellowstonePathology.Business.Test.PanelOrder)menuItem.Tag;
            YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus = new YellowstonePathology.Business.Rules.RuleExecutionStatus();
            panelOrder.AcceptResults(ruleExecutionStatus, this.m_LabUI.AccessionOrder, this.m_SystemIdentity.User);

            if (ruleExecutionStatus.ExecutionHalted == true)
            {
                YellowstonePathology.UI.RuleExecutionStatusDialog ruleExecutionStatusDialog = new RuleExecutionStatusDialog(ruleExecutionStatus);
                ruleExecutionStatusDialog.ShowDialog();
            }

            this.m_LabUI.GetAccessionOrder(this.m_LabUI.PanelSetOrder.MasterAccessionNo, this.m_LabUI.PanelSetOrder.ReportNo);
        }
 public RuleExecutionStatusDialog(YellowstonePathology.Business.Rules.RuleExecutionStatus ruleExecutionStatus)
 {
     this.m_RuleExecutionStatus = ruleExecutionStatus;
     InitializeComponent();
     this.DataContext = this.m_RuleExecutionStatus;
 }