예제 #1
0
        public ProcessorRun Get(YellowstonePathology.Business.User.UserPreference userPreference)
        {
            YellowstonePathology.Business.Surgical.ProcessorRunCollection processorRunCollection = YellowstonePathology.Business.Surgical.ProcessorRunCollection.GetAll(true);
            YellowstonePathology.Business.Surgical.ProcessorRun           result = null;

            switch (DateTime.Today.DayOfWeek)
            {
            case DayOfWeek.Monday:
            case DayOfWeek.Tuesday:
            case DayOfWeek.Wednesday:
            case DayOfWeek.Thursday:
                result = processorRunCollection.Get(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.WeekdayProcessorRunId);
                break;

            case DayOfWeek.Friday:
            case DayOfWeek.Saturday:
            case DayOfWeek.Sunday:
                result = processorRunCollection.Get(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.WeekendProcessorRunId);
                break;
            }

            return(result);
        }
예제 #2
0
        public FixationUpdate(YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder, YellowstonePathology.Business.Surgical.ProcessorRunCollection processorRunCollection)
        {
            this.m_ClientAccessioned     = specimenOrder.ClientAccessioned;
            this.m_TimeSpecimenCollected = specimenOrder.CollectionTime;
            this.m_DateSpecimenCollected = specimenOrder.CollectionDate;
            this.m_TimeSpecimenReceived  = specimenOrder.DateReceived;
            this.m_ReceivedIn            = specimenOrder.ClientFixation;
            //this.m_TimeToFixation = specimenOrder.TimeToFixation;
            //this.m_FixationDuration = specimenOrder.FixationDuration;
            this.m_SpecimenAccessioningAssumption = true;

            if (string.IsNullOrEmpty(specimenOrder.ProcessorRunId) == false)
            {
                this.m_ProcessorRun = processorRunCollection.Get(specimenOrder.ProcessorRunId);
            }
        }
예제 #3
0
        private void ScanContainerPage_UseThisContainer(object sender, string containerId)
        {
            string masterAccessionNo = YellowstonePathology.Business.Gateway.AccessionOrderGateway.GetMasterAccessionNoFromContainerId(containerId);

            if (string.IsNullOrEmpty(masterAccessionNo) == false)
            {
                this.m_AccessionOrder = YellowstonePathology.Business.Persistence.DocumentGateway.Instance.PullAccessionOrder(masterAccessionNo, m_HistologyGrossDialog);

                if (this.m_AccessionOrder == null)
                {
                    System.Windows.MessageBox.Show("The scanned container was not found.");
                    this.ShowScanContainerPage();
                }
                else
                {
                    if (this.m_AccessionOrder.IsLockAquiredByMe == true)
                    {
                        YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = this.m_AccessionOrder.SpecimenOrderCollection.GetSpecimenOrderByContainerId(containerId);
                        this.AddMaterialTrackingLog(specimenOrder);

                        if (this.m_HistologyGrossDialog.PageNavigator.HasDualMonitors() == true)
                        {
                            DictationTemplatePage dictationTemplatePage = new DictationTemplatePage(specimenOrder, this.m_AccessionOrder, this.m_SystemIdentity);
                            this.m_SecondaryWindow.PageNavigator.Navigate(dictationTemplatePage);
                        }

                        if (string.IsNullOrEmpty(specimenOrder.ProcessorRunId) == true)
                        {
                            YellowstonePathology.Business.Surgical.ProcessorRunCollection processorRunCollection = YellowstonePathology.Business.Surgical.ProcessorRunCollection.GetAll(false);
                            YellowstonePathology.Business.Surgical.ProcessorRun           processorRun           = processorRunCollection.Get(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference);
                            specimenOrder.SetProcessor(processorRun);
                            specimenOrder.SetFixationDuration();
                        }

                        if (this.m_AccessionOrder.PrintMateColumnNumber == 0 && this.m_AccessionOrder.PanelSetOrderCollection.HasTestBeenOrdered(48) == false)
                        {
                            this.ShowBlockColorSelectionPage(specimenOrder);
                        }
                        else
                        {
                            this.ShowPrintBlockPage(specimenOrder);
                        }
                    }
                    else
                    {
                        this.ShowCaseLockPage();
                    }
                }
            }
            else
            {
                System.Windows.MessageBox.Show("The scanned container was not found.");
                this.ShowScanContainerPage();
            }
        }