/// <summary> /// Author: Andy Tang /// </summary> protected void Search_Textbox_Changed(object sender, EventArgs e) { search_drop_down.Items.Clear(); search_drop_down.Items.Add(DROP_DOWN_PROMPT_MESSAGE); List <Protein_Information> proteinList = new List <Protein_Information>(); const int minPrefixLength = 3; if (search_textBox.Text.Length < minPrefixLength) { return; } Drug_Information drug = EF_Data.GetDrugsQuery(search_textBox.Text).FirstOrDefault(); if (drug != null) { List <PDB_Information> pdbInfoList = EF_Data.GetPDBInfoUsingDrug(drug.Drug_PDB_ID); foreach (PDB_Information pdb in pdbInfoList) { Protein_Information protein = EF_Data.GetProteinByUniprotID(pdb.UniProt_ID); if (protein != null) { proteinList.Add(protein); } } } if (proteinList.Count > 0) { List <string> valuesList = new List <string>(); foreach (Protein_Information protein in proteinList) { valuesList.Add(protein.UniProt_ID); valuesList.Add(protein.Protein_Short_Name); valuesList.Add(protein.Protein_Full_Name); valuesList.Add(protein.Protein_Alias); valuesList.Add(protein.NCBI_RefSeq_NP_ID); valuesList.Add(protein.PhosphoNET_Name); valuesList.Add(protein.PDB_Protein_Name); } valuesList = DataUtilities.FilterDropdownList(valuesList); foreach (string value in valuesList) { search_drop_down.Items.Add(new ListItem(value, value, true)); } } else { search_drop_down.Items.Clear(); search_drop_down.Items.Add(DROP_DOWN_NO_MATCHES_MESSAGE); } }