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()); }
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()); }