コード例 #1
0
ファイル: XmlGateway.cs プロジェクト: ericramses/YPILIS
        public static Test.AccessionOrder GetAccessionOrder(string masterAccessionNo)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select * from tblAccessionOrder where MasterAccessionno = @MasterAccessionNo " +
                "Select * from tblSpecimenOrder where MasterAccessionNo = @MasterAccessionNo order by SpecimenNumber";
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.Add("@MasterAccessionNo", SqlDbType.VarChar).Value = masterAccessionNo;

            YellowstonePathology.Business.Test.AccessionOrder result = new Test.AccessionOrder();
            using (SqlConnection cn = new SqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter(result, dr);
                        propertyWriter.WriteProperties();
                    }
                    dr.NextResult();

                    while (dr.Read())
                    {
                        Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter(specimenOrder, dr);
                        propertyWriter.WriteProperties();
                        result.SpecimenOrderCollection.Add(specimenOrder);
                    }
                }
            }

            return result;
        }
コード例 #2
0
ファイル: XmlGateway.cs プロジェクト: waffle-iron/YPILIS
        public static XElement GetSpecimenOrder(string masterAccessionNo)
        {
            XElement result = new XElement("SpecimenOrders");

            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select * from tblSpecimenOrder where MasterAccessionno = '" + masterAccessionNo + "' order by SpecimenNumber";
            cmd.CommandType = CommandType.Text;

            using (SqlConnection cn = new SqlConnection(YellowstonePathology.Business.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
						YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
                        XElement specimenOrderElement = new XElement("SpecimenOrder");
						YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(specimenOrder, dr);
						sqlDataReaderPropertyWriter.WriteProperties();

						YellowstonePathology.Business.Persistence.XmlPropertyReader xmlPropertyReader = new Persistence.XmlPropertyReader(specimenOrder, specimenOrderElement);
						xmlPropertyReader.Write();
						result.Add(specimenOrderElement);
                    }
                }               
            }

            return result;
        }
コード例 #3
0
        public static Test.AccessionOrder GetAccessionOrder(string masterAccessionNo)
        {
            MySqlCommand cmd = new MySqlCommand();

            cmd.CommandText = "Select * from tblAccessionOrder where MasterAccessionno = @MasterAccessionNo; " +
                              "Select * from tblSpecimenOrder where MasterAccessionNo = @MasterAccessionNo order by SpecimenNumber;";
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.AddWithValue("@MasterAccessionNo", masterAccessionNo);

            YellowstonePathology.Business.Test.AccessionOrder result = new Test.AccessionOrder();
            using (MySqlConnection cn = new MySqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (MySqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter(result, dr);
                        propertyWriter.WriteProperties();
                    }
                    dr.NextResult();

                    while (dr.Read())
                    {
                        Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter propertyWriter = new YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter(specimenOrder, dr);
                        propertyWriter.WriteProperties();
                        result.SpecimenOrderCollection.Add(specimenOrder);
                    }
                }
            }

            return(result);
        }
コード例 #4
0
 public override void Visit(Specimen.Model.SpecimenOrder specimenOrder)
 {
     if (specimenOrder.AliquotOrderCollection.Exists(this.m_AliquotOrder.AliquotOrderId) == true)
     {
         while (this.m_AliquotOrder.TestOrderCollection.Count != 0)
         {
             RemoveTestOrderVisitor removeTestOrderVisitor = new RemoveTestOrderVisitor(m_AliquotOrder.TestOrderCollection[0].TestOrderId);
             this.m_AccessionOrder.TakeATrip(removeTestOrderVisitor);
         }
         specimenOrder.AliquotOrderCollection.Remove(this.m_AliquotOrder);
     }
 }
コード例 #5
0
 private void SetSurgicalSpecimenAuditSpecimenOrder(YellowstonePathology.Business.Test.Surgical.SurgicalTestOrder surgicalTestOrder)
 {
     foreach (YellowstonePathology.Business.Test.Surgical.SurgicalAudit surgicalAudit in surgicalTestOrder.SurgicalAuditCollection)
     {
         foreach (YellowstonePathology.Business.Test.Surgical.SurgicalSpecimenAudit surgicalSpecimenAudit in surgicalAudit.SurgicalSpecimenAuditCollection)
         {
             Specimen.Model.SpecimenOrder specimenOrder = (from so in this.m_AccessionOrder.SpecimenOrderCollection
                                                           where so.SpecimenOrderId == surgicalSpecimenAudit.SpecimenOrderId
                                                           select so).Single <Specimen.Model.SpecimenOrder>();
             surgicalSpecimenAudit.SpecimenOrder = specimenOrder;
         }
     }
 }
コード例 #6
0
        private void BuildAliquotOrderLeftSide(Specimen.Model.SpecimenOrder specimenOrder, XElement specimenOrderElement)
        {
            List <XElement> aliquotOrderElements = (from item in specimenOrderElement.Elements("AliquotOrderCollection")
                                                    select item).ToList <XElement>();

            foreach (XElement aliquotOrderElement in aliquotOrderElements.Elements("AliquotOrder"))
            {
                YellowstonePathology.Business.Test.AliquotOrder             aliquotOrder      = new Test.AliquotOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(aliquotOrderElement, aliquotOrder);
                xmlPropertyWriter.Write();

                BuildAliquotOrderTestOrder(aliquotOrder, aliquotOrderElement);
                BuildAliquotOrderSlideOrderCollection(aliquotOrder, aliquotOrderElement);
                specimenOrder.AliquotOrderCollection.Add(aliquotOrder);
            }
        }
コード例 #7
0
        private void BuildSpecimenOrder(Test.AccessionOrder accessionOrder, XElement accessionOrderElement)
        {
            accessionOrder.SpecimenOrderCollection.IsLoading = true;
            List <XElement> specimenOrderElements = (from item in accessionOrderElement.Elements("SpecimenOrderCollection")
                                                     select item).ToList <XElement>();

            foreach (XElement specimenOrderElement in specimenOrderElements.Elements("SpecimenOrder"))
            {
                Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(specimenOrderElement, specimenOrder);
                xmlPropertyWriter.Write();
                BuildAliquotOrderLeftSide(specimenOrder, specimenOrderElement);
                accessionOrder.SpecimenOrderCollection.Add(specimenOrder);
            }
            accessionOrder.SpecimenOrderCollection.IsLoading = false;
        }
コード例 #8
0
 private void BuildSpecimenOrder(Test.AccessionOrder accessionOrder, XElement accessionOrderElement)
 {
     accessionOrder.SpecimenOrderCollection.IsLoading = true;
     List<XElement> specimenOrderElements = (from item in accessionOrderElement.Elements("SpecimenOrderCollection")
                                             select item).ToList<XElement>();
     foreach (XElement specimenOrderElement in specimenOrderElements.Elements("SpecimenOrder"))
     {
         Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
         YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(specimenOrderElement, specimenOrder);
         xmlPropertyWriter.Write();
         BuildAliquotOrderLeftSide(specimenOrder, specimenOrderElement);
         accessionOrder.SpecimenOrderCollection.Add(specimenOrder);
     }
     accessionOrder.SpecimenOrderCollection.IsLoading = false;
 }
コード例 #9
0
        public AccessionOrderDataSheetDataSpecimenOrder(Specimen.Model.SpecimenOrder specimenOrder, ClientOrder.Model.ClientOrderCollection clientOrderCollection)
        {
            string specimenNumber      = specimenOrder.SpecimenNumber.ToString();
            string specimenDescription = specimenOrder.Description;

            this.m_Description = specimenNumber + ". " + specimenDescription;

            this.m_CollectionTime = string.Empty;
            if (specimenOrder.CollectionDate.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionDate.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }
            else if (specimenOrder.CollectionTime.HasValue == true)
            {
                YellowstonePathology.Business.Helper.DateTimeJoiner dateTimeJoiner = new Business.Helper.DateTimeJoiner(specimenOrder.CollectionTime.Value, specimenOrder.CollectionTime);
                this.m_CollectionTime = dateTimeJoiner.DisplayString;
            }

            this.m_ReceivedIn    = string.IsNullOrEmpty(specimenOrder.ClientFixation) == false ? specimenOrder.ClientFixation : string.Empty;
            this.m_ProcessedIn   = string.IsNullOrEmpty(specimenOrder.LabFixation) == false ? specimenOrder.LabFixation : string.Empty;
            this.m_AccessionTime = specimenOrder.AccessionTime.HasValue ? specimenOrder.AccessionTime.Value.ToShortDateString() + " " + specimenOrder.AccessionTime.Value.ToShortTimeString() : string.Empty;
            this.m_Verified      = specimenOrder.Verified.ToString();
            this.m_VerifiedById  = specimenOrder.VerifiedById.ToString();
            this.m_VerifiedDate  = specimenOrder.VerifiedDate.HasValue ? specimenOrder.VerifiedDate.Value.ToShortDateString() + " " + specimenOrder.VerifiedDate.Value.ToShortTimeString() : string.Empty;

            List <ClientOrder.Model.ClientOrderDetail> clientOrderDetails = (from co in clientOrderCollection
                                                                             from cod in co.ClientOrderDetailCollection
                                                                             where cod.ContainerId == specimenOrder.ContainerId
                                                                             select cod).ToList <ClientOrder.Model.ClientOrderDetail>();

            if (clientOrderDetails.Count > 0)
            {
                ClientOrder.Model.ClientOrderDetail clientOrderDetail = clientOrderDetails[0];
                string clientSpecimenNumber = clientOrderDetail.SpecimenNumber.ToString();
                string clientDescription    = clientOrderDetail.Description;
                this.m_ClientDescription = clientSpecimenNumber + ". " + clientDescription;

                this.m_AccessionedAsDescription         = clientOrderDetail.DescriptionToAccession;
                this.m_AccessionedAsNumberedDescription = clientSpecimenNumber + ". " + this.m_AccessionedAsDescription;
                this.m_SpecialInstructions = string.IsNullOrEmpty(clientOrderDetail.SpecialInstructions) == false ? clientOrderDetail.SpecialInstructions : string.Empty;

                //this.m_SpecialInstructions = clientOrderDetail.OrderType;
                this.m_OrderType      = string.IsNullOrEmpty(clientOrderDetail.OrderType) == false ? clientOrderDetail.OrderType : string.Empty;
                this.m_CallbackNumber = string.IsNullOrEmpty(clientOrderDetail.CallbackNumber) == false ? clientOrderDetail.CallbackNumber : string.Empty;

                if (clientOrderDetail.CollectionDate.HasValue)
                {
                    this.m_CollectionDate = clientOrderDetail.CollectionDate.HasValue ? clientOrderDetail.CollectionDate.Value.ToShortDateString() + " " + clientOrderDetail.CollectionDate.Value.ToShortTimeString() : string.Empty;
                }

                this.m_SpecimenNumberMatchStatus      = string.IsNullOrEmpty(clientOrderDetail.SpecimenNumberMatchStatus) == false ? clientOrderDetail.SpecimenNumberMatchStatus : string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.IsNullOrEmpty(clientOrderDetail.SpecimenDescriptionMatchStatus) == false ? clientOrderDetail.SpecimenDescriptionMatchStatus : string.Empty;
                this.m_OrderedBy   = clientOrderDetail.OrderedBy;
                this.m_OrderTime   = clientOrderDetail.OrderTime.HasValue ? clientOrderDetail.OrderTime.Value.ToShortDateString() + " " + clientOrderDetail.OrderTime.Value.ToShortTimeString() : string.Empty;
                this.m_Accessioned = clientOrderDetail.Accessioned.ToString();
            }
            else
            {
                this.m_Description = "None";
                this.m_AccessionedAsDescription         = string.Empty;
                this.m_AccessionedAsNumberedDescription = string.Empty;
                this.m_SpecialInstructions            = string.Empty;
                this.m_OrderType                      = string.Empty;
                this.m_CallbackNumber                 = string.Empty;
                this.m_CollectionDate                 = string.Empty;
                this.m_SpecimenNumberMatchStatus      = string.Empty;
                this.m_SpecimenDescriptionMatchStatus = string.Empty;
                this.m_OrderedBy                      = string.Empty;
                this.m_OrderTime                      = string.Empty;
                this.m_Accessioned                    = string.Empty;
            }
        }
コード例 #10
0
ファイル: XmlGateway.cs プロジェクト: WilliamCopland/YPILIS
        public static XElement GetSpecimenOrder(string masterAccessionNo)
        {
            XElement result = new XElement("SpecimenOrders");

            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select * from tblSpecimenOrder where MasterAccessionno = '" + masterAccessionNo + "' order by SpecimenNumber";
            cmd.CommandType = CommandType.Text;

            using (SqlConnection cn = new SqlConnection(YellowstonePathology.Business.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
                        XElement specimenOrderElement = new XElement("SpecimenOrder");
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(specimenOrder, dr);
                        sqlDataReaderPropertyWriter.WriteProperties();

                        YellowstonePathology.Business.Persistence.XmlPropertyReader xmlPropertyReader = new Persistence.XmlPropertyReader(specimenOrder, specimenOrderElement);
                        xmlPropertyReader.Write();
                        result.Add(specimenOrderElement);
                    }
                }
            }

            return result;
        }
コード例 #11
0
        private void BuildSpecimenOrder(Test.AccessionOrder accessionOrder, XElement accessionOrderElement)
        {
            accessionOrder.SpecimenOrderCollection.IsLoading = true;
            List<XElement> specimenOrderElements = (from item in accessionOrderElement.Elements("SpecimenOrderCollection")
                                                    select item).ToList<XElement>();

            accessionOrder.SpecimenOrderCollection.RemoveDeleted(specimenOrderElements.Elements("SpecimenOrder"));
            foreach (XElement specimenOrderElement in specimenOrderElements.Elements("SpecimenOrder"))
            {
                string specimenOrderId = specimenOrderElement.Element("SpecimenOrderId").Value;
                Specimen.Model.SpecimenOrder specimenOrder = null;

                if (accessionOrder.SpecimenOrderCollection.Exists(specimenOrderId) == true)
                {
                    specimenOrder = accessionOrder.SpecimenOrderCollection.GetSpecimenOrder(specimenOrderId);
                }
                else
                {
                    specimenOrder = new Specimen.Model.SpecimenOrder();
                    accessionOrder.SpecimenOrderCollection.Add(specimenOrder);
                }

                YellowstonePathology.Business.Persistence.XmlPropertyWriter xmlPropertyWriter = new Persistence.XmlPropertyWriter(specimenOrderElement, specimenOrder);
                xmlPropertyWriter.Write();
                BuildAliquotOrderLeftSide(specimenOrder, specimenOrderElement);

            }
            accessionOrder.SpecimenOrderCollection.IsLoading = false;
        }
コード例 #12
0
        public static YellowstonePathology.Business.Specimen.Model.SpecimenOrderCollection GetSpecimenOrderCollection(string containId)
        {
            YellowstonePathology.Business.Specimen.Model.SpecimenOrderCollection result = new Specimen.Model.SpecimenOrderCollection();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select * from tblSpecimenOrder where ContainId = @ContainerId";

            cmd.CommandType = CommandType.Text;
            cmd.Parameters.Add("@ContainerId", SqlDbType.DateTime).Value = containId;

            using (SqlConnection cn = new SqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(specimenOrder, dr);
                        sqlDataReaderPropertyWriter.WriteProperties();
                        result.Add(specimenOrder);
                    }
                }
            }
            return result;
        }
コード例 #13
0
        public static YellowstonePathology.Business.Specimen.Model.SpecimenOrderCollection GetSpecimenOrderCollection(DateTime embeddingVerifiedDate)
        {
            YellowstonePathology.Business.Specimen.Model.SpecimenOrderCollection result = new Specimen.Model.SpecimenOrderCollection();
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "Select s.* from tblSpecimenOrder s " +
                "where exists(select * from tblAliquotOrder where specimenOrderId = s.SpecimenOrderId and EmbeddingVerifiedDate between @EmbeddingVerifiedDate and @EmbeddingVerifiedDatePlus1)";
            cmd.Parameters.Add("@EmbeddingVerifiedDate", SqlDbType.VarChar).Value = embeddingVerifiedDate;
            cmd.Parameters.Add("@EmbeddingVerifiedDatePlus1", SqlDbType.VarChar).Value = embeddingVerifiedDate.AddDays(1);
            cmd.CommandType = CommandType.Text;

            using (SqlConnection cn = new SqlConnection(YellowstonePathology.Properties.Settings.Default.CurrentConnectionString))
            {
                cn.Open();
                cmd.Connection = cn;
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
                        YellowstonePathology.Business.Persistence.SqlDataReaderPropertyWriter sqlDataReaderPropertyWriter = new Persistence.SqlDataReaderPropertyWriter(specimenOrder, dr);
                        sqlDataReaderPropertyWriter.WriteProperties();
                        result.Add(specimenOrder);
                    }
                }
            }
            return result;
        }
コード例 #14
0
 public override object BuildNew()
 {
     YellowstonePathology.Business.Specimen.Model.SpecimenOrder specimenOrder = new Specimen.Model.SpecimenOrder();
     this.Build(specimenOrder);
     return(specimenOrder);
 }