public override void Visit(Test.AccessionOrder accessionOrder) { YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(this.m_TestOrder.TestOrderId); YellowstonePathology.Business.Facility.Model.Facility accessioningFacility = Business.Facility.Model.FacilityCollection.Instance.GetByFacilityId(accessionOrder.AccessioningFacilityId); Slide.Model.Slide slide = Slide.Model.SlideFactory.Get(this.m_TestOrder.TestId); int nextSlideNumber = this.m_AliquotOrder.SlideOrderCollection.Count() + 1; string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString(); string slideOrderId = YellowstonePathology.Business.OrderIdParser.GetNextSlideOrderId(this.m_AliquotOrder.SlideOrderCollection, this.m_AliquotOrder.AliquotOrderId); YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = new Business.Slide.Model.SlideOrder(objectId, slideOrderId, this.m_AliquotOrder, this.m_TestOrder, this.m_SystemIdentity, nextSlideNumber); slideOrder.TestOrder = this.m_TestOrder; slideOrder.ReportNo = panelSetOrder.ReportNo; slideOrder.TestOrderId = this.m_TestOrder.TestOrderId; slideOrder.TestId = this.m_TestOrder.TestId; slideOrder.TestName = this.m_TestOrder.TestName; slideOrder.TestAbbreviation = this.m_TestOrder.TestAbbreviation; slideOrder.PatientLastName = accessionOrder.PLastName; slideOrder.PatientFirstName = accessionOrder.PFirstName; slideOrder.OrderedBy = string.IsNullOrEmpty(this.m_TestOrder.OrderedBy) ? "NONE" : this.m_TestOrder.OrderedBy; slideOrder.AccessioningFacility = accessioningFacility.LocationAbbreviation; slideOrder.LabelType = slide.LabelType.ToString(); slideOrder.UseWetProtocol = this.m_TestOrder.UseWetProtocol; slideOrder.PerformedByHand = this.m_TestOrder.PerformedByHand; this.m_NewSlideOrder = slideOrder; this.m_TestOrder.SlideOrderCollection.Add(slideOrder); this.m_AliquotOrder.SlideOrderCollection.Add(slideOrder); }
public override void Visit(Test.AccessionOrder accessionOrder) { YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = accessionOrder.PanelSetOrderCollection.GetPanelSetOrderByTestOrderId(this.m_TestOrder.TestOrderId); YellowstonePathology.Business.Facility.Model.FacilityCollection allFacilities = YellowstonePathology.Business.Facility.Model.FacilityCollection.GetAllFacilities(); YellowstonePathology.Business.Facility.Model.Facility accessioningFacility = allFacilities.GetByFacilityId(accessionOrder.AccessioningFacilityId); Slide.Model.Slide slide = Slide.Model.SlideFactory.Get(this.m_TestOrder.TestId); int nextSlideNumber = this.m_AliquotOrder.SlideOrderCollection.Count() + 1; //this.m_AliquotOrder.SlideOrderCollection.GetNextSlideNumber(this.m_AliquotOrder.Label); string objectId = MongoDB.Bson.ObjectId.GenerateNewId().ToString(); string slideOrderId = YellowstonePathology.Business.OrderIdParser.GetNextSlideOrderId(this.m_AliquotOrder.SlideOrderCollection, this.m_AliquotOrder.AliquotOrderId); YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder = new Business.Slide.Model.SlideOrder(); slideOrder.ObjectId = objectId; slideOrder.SlideOrderId = slideOrderId; slideOrder.AliquotOrderId = this.m_AliquotOrder.AliquotOrderId; slideOrder.Label = YellowstonePathology.Business.Slide.Model.SlideOrder.GetSlideLabel(nextSlideNumber, this.m_AliquotOrder.Label, this.m_AliquotOrder.AliquotType); slideOrder.TestOrder = this.m_TestOrder; slideOrder.ReportNo = panelSetOrder.ReportNo; slideOrder.TestOrderId = this.m_TestOrder.TestOrderId; slideOrder.TestId = this.m_TestOrder.TestId; slideOrder.TestName = this.m_TestOrder.TestName; slideOrder.TestAbbreviation = this.m_TestOrder.TestAbbreviation; slideOrder.PatientLastName = accessionOrder.PLastName; slideOrder.Description = "Histology Slide"; slideOrder.AliquotType = "Slide"; slideOrder.OrderedById = this.m_SystemIdentity.User.UserId; slideOrder.OrderDate = DateTime.Now; slideOrder.OrderedBy = this.m_SystemIdentity.User.UserName; slideOrder.OrderedFrom = System.Environment.MachineName; slideOrder.Status = Business.Slide.Model.SlideStatusEnum.Created.ToString(); slideOrder.Location = accessioningFacility.LocationAbbreviation; slideOrder.LabelType = slide.LabelType.ToString(); this.m_TestOrder.SlideOrderCollection.Add(slideOrder); this.m_AliquotOrder.SlideOrderCollection.Add(slideOrder); }