public PanelSetOrderLeukemiaLymphoma(string masterAccessionNo, string reportNo, string objectId,
                                             YellowstonePathology.Business.PanelSet.Model.PanelSet panelSet,
                                             YellowstonePathology.Business.Interface.IOrderTarget orderTarget,
                                             bool distribute)
            : base(masterAccessionNo, reportNo, objectId, panelSet, orderTarget, distribute)
        {
            YellowstonePathology.Business.PanelSet.Model.FlowCytometry.PanelSetFlowCytometry panelSetFlowCytometry = (YellowstonePathology.Business.PanelSet.Model.FlowCytometry.PanelSetFlowCytometry)panelSet;

            this.m_FlowMarkerCollection = new Flow.FlowMarkerCollection();
        }
Ejemplo n.º 2
0
        private void OrderTheReport()
        {
            YellowstonePathology.Business.User.SystemIdentity systemIdentity = YellowstonePathology.Business.User.SystemIdentity.Instance;
            YellowstonePathology.Business.PanelSet.Model.FlowCytometry.PanelSetFlowCytometry panelSetFlowCytometry = null;

            switch (this.m_PanelSet.PanelSetId)
            {
            case 20:     //LLP
                panelSetFlowCytometry = (YellowstonePathology.Business.Test.LLP.LeukemiaLymphomaTest) this.m_PanelSet;
                break;

            case 21:     //TPP
                panelSetFlowCytometry = (YellowstonePathology.Business.Test.ThrombocytopeniaProfile.ThrombocytopeniaProfileTest) this.m_PanelSet;
                break;

            case 22:     //PAA
                panelSetFlowCytometry = (YellowstonePathology.Business.Test.PlateletAssociatedAntibodies.PlateletAssociatedAntibodiesTest) this.m_PanelSet;
                break;

            case 23:     //RTIC
                panelSetFlowCytometry = (YellowstonePathology.Business.Test.ReticulatedPlateletAnalysis.ReticulatedPlateletAnalysisTest) this.m_PanelSet;
                break;

            case 24:     //Stem Cell
                panelSetFlowCytometry = (YellowstonePathology.Business.Test.StemCellEnumeration.StemCellEnumerationTest) this.m_PanelSet;
                break;

            case 28:     //Fetal Hemoglobin
                panelSetFlowCytometry = (YellowstonePathology.Business.Test.FetalHemoglobin.FetalHemoglobinTest) this.m_PanelSet;
                break;
            }

            string reportNo         = null;
            bool   newStyleReportNo = this.m_AccessionOrder.UseNewStyleReportNo();

            if (newStyleReportNo == true)
            {
                reportNo = YellowstonePathology.Business.OrderIdParser.GetNextReportNo(this.m_AccessionOrder.PanelSetOrderCollection, panelSetFlowCytometry, this.m_AccessionOrder.MasterAccessionNo);
            }
            else
            {
                reportNo = YellowstonePathology.Business.Gateway.AccessionOrderGateway.NextReportNo(this.m_PanelSet.PanelSetId, this.m_AccessionOrder.MasterAccessionNo);
            }

            string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString();

            YellowstonePathology.Business.Test.LLP.PanelSetOrderLeukemiaLymphoma panelSetOrderLeukemiaLymphoma = new Business.Test.LLP.PanelSetOrderLeukemiaLymphoma(this.m_AccessionOrder.MasterAccessionNo, reportNo, objectId, panelSetFlowCytometry, this.m_SpecimenOrder, true);
            this.m_AccessionOrder.PanelSetOrderCollection.Add(panelSetOrderLeukemiaLymphoma);
            this.m_AddedPanelSetOrder = panelSetOrderLeukemiaLymphoma;

            if (this.m_AccessionOrder.ClientId != 0 && this.m_AccessionOrder.PhysicianId != 0)
            {
                YellowstonePathology.Business.Client.PhysicianClientDistributionCollection physicianClientDistributionCollection = YellowstonePathology.Business.Gateway.ReportDistributionGateway.GetPhysicianClientDistributionCollection(this.m_AccessionOrder.PhysicianId, this.m_AccessionOrder.ClientId);
                foreach (YellowstonePathology.Business.Client.PhysicianClientDistribution physicianClientDistribution in physicianClientDistributionCollection)
                {
                    physicianClientDistribution.SetDistribution(panelSetOrderLeukemiaLymphoma, this.m_AccessionOrder);
                }
            }
        }