コード例 #1
0
        public IQueryable <WebOrderRequestItem> SearchItems(int webOrderRequestId)
        {
            const string COMMAND_TEXT = "usp_WebOrderRequestItems_Select";
            List <WebOrderRequestItem> webOrderRequestItems = new List <WebOrderRequestItem>();

            try
            {
                using (SqlConnection cn = DataContext.GetConnection(this.GetConnectionStringKey(_context)))
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = cn;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = COMMAND_TEXT;
                        cmd.Parameters.AddWithValue("@web_order_request_id", webOrderRequestId);

                        using (SqlDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                WebOrderRequestItem webOrderRequestItem = new WebOrderRequestItem();
                                webOrderRequestItem.ID                   = GetInt(reader["web_order_request_item_id"].ToString());
                                webOrderRequestItem.SequenceNumber       = GetInt(reader["sequence_number"].ToString());
                                webOrderRequestItem.Accession.ID         = GetInt(reader["accession_id"].ToString());
                                webOrderRequestItem.Accession.Descriptor = reader["accession_text"].ToString();
                                webOrderRequestItem.StatusCode           = reader["status_code"].ToString();
                                webOrderRequestItem.Site.ID              = GetInt(reader["site_id"].ToString());
                                webOrderRequestItem.Site.LongName        = reader["site_long_name"].ToString();
                                webOrderRequestItem.QuantityShipped      = GetInt(reader["quantity_shipped"].ToString());
                                webOrderRequestItem.UnitShipped          = reader["unit_of_shipped"].ToString();
                                webOrderRequestItem.DistributionForm     = reader["distribution_form"].ToString();
                                webOrderRequestItem.Species.ID           = GetInt(reader["taxonomy_species_id"].ToString());
                                webOrderRequestItem.Species.Name         = reader["species_name"].ToString();
                                webOrderRequestItems.Add(webOrderRequestItem);
                            }
                        }
                    }
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return(webOrderRequestItems.AsQueryable());
        }
コード例 #2
0
        public IQueryable <WebOrderRequestItem> SearchItems(int webOrderRequestId, ref string emailAddressList)
        {
            const string  COMMAND_TEXT                      = "usp_WebOrderRequestItems_Select";
            string        unparsedEmailAddressList          = String.Empty;
            StringBuilder sbEmailAddressList                = new StringBuilder();
            List <WebOrderRequestItem> webOrderRequestItems = new List <WebOrderRequestItem>();

            try
            {
                using (SqlConnection cn = DataContext.GetConnection(this.GetConnectionStringKey(_context)))
                {
                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = cn;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = COMMAND_TEXT;
                        cmd.Parameters.AddWithValue("@web_order_request_id", webOrderRequestId);

                        using (SqlDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                WebOrderRequestItem webOrderRequestItem = new WebOrderRequestItem();
                                webOrderRequestItem.ID                   = GetInt(reader["web_order_request_item_id"].ToString());
                                webOrderRequestItem.SequenceNumber       = GetInt(reader["sequence_number"].ToString());
                                webOrderRequestItem.Accession.ID         = GetInt(reader["accession_id"].ToString());
                                webOrderRequestItem.Accession.Descriptor = reader["accession_text"].ToString();
                                webOrderRequestItem.StatusCode           = reader["status_code"].ToString();
                                webOrderRequestItem.Site.ID              = GetInt(reader["site_id"].ToString());
                                webOrderRequestItem.Site.ShortName       = reader["site_short_name"].ToString();
                                webOrderRequestItem.Site.LongName        = reader["site_long_name"].ToString();

                                unparsedEmailAddressList = reader["email"].ToString();
                                if (unparsedEmailAddressList.Contains(";"))
                                {
                                    string[] emailAddressCollection = unparsedEmailAddressList.Split(';');
                                    foreach (var emailAddress in emailAddressCollection)
                                    {
                                        if (!sbEmailAddressList.ToString().Contains(emailAddress))
                                        {
                                            sbEmailAddressList.Append(emailAddress + ",");
                                        }
                                    }
                                }
                                else
                                {
                                    if (!sbEmailAddressList.ToString().Contains(unparsedEmailAddressList))
                                    {
                                        sbEmailAddressList.Append(unparsedEmailAddressList + ",");
                                    }
                                }
                                emailAddressList = sbEmailAddressList.ToString();

                                webOrderRequestItem.Site.EmailAddressList = unparsedEmailAddressList;
                                webOrderRequestItem.QuantityShipped       = GetInt(reader["quantity_shipped"].ToString());
                                webOrderRequestItem.UnitShipped           = reader["unit_of_shipped"].ToString();
                                webOrderRequestItem.DistributionForm      = reader["distribution_form"].ToString();
                                webOrderRequestItem.Species.ID            = GetInt(reader["taxonomy_species_id"].ToString());
                                webOrderRequestItem.Species.Name          = reader["species_name"].ToString();
                                webOrderRequestItems.Add(webOrderRequestItem);
                            }
                        }
                    }
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return(webOrderRequestItems.AsQueryable());
        }