public List <Media> searchMedia(MediaSearchSdi mediaSearchSdi) { con = SqlServerConnection.getConnnection(); con.Open(); List <Media> medias = new List <Media>(); StringBuilder sql = new StringBuilder(); Dictionary <String, Object> param = new Dictionary <String, Object>(); sql.Append(" select isbn,title,year,publisher,type,subject from Media "); sql.Append(" where 1 = 1 "); if (mediaSearchSdi.Isbn != -1) { sql.Append(" and isbn = @isbn "); param.Add("isbn", mediaSearchSdi.Isbn); } if (mediaSearchSdi.Title != null && !"".Equals(mediaSearchSdi.Title)) { sql.Append(" and title = @title "); param.Add("title", mediaSearchSdi.Title); } if (mediaSearchSdi.Publisher != null && !"".Equals(mediaSearchSdi.Publisher)) { sql.Append(" and publisher = @publisher "); param.Add("publisher", mediaSearchSdi.Publisher); } if (mediaSearchSdi.Type != null && !"".Equals(mediaSearchSdi.Type)) { sql.Append(" and type = @type "); param.Add("type", mediaSearchSdi.Type); } if (mediaSearchSdi.Subject != null && !"".Equals(mediaSearchSdi.Subject)) { sql.Append(" and subject = @subject "); param.Add("subject", mediaSearchSdi.Subject); } SqlCommand command = new SqlCommand(sql.ToString(), con); foreach (KeyValuePair <String, Object> item in param) { command.Parameters.AddWithValue(item.Key, item.Value); } SqlDataReader data = command.ExecuteReader(); while (data.Read()) { Media media = new Media(); media.Isbn = data.GetInt32(0); media.Title = data.GetString(1); media.Year = data.GetDateTime(2); media.Publisher = data.GetString(3); media.Type = data.GetString(4); media.Subject = data.GetString(5); medias.Add(media); } data.Close(); con.Close(); return(medias); }
private void searchCustom_Click(object sender, EventArgs e) { MediaSearchSdi mediaSearchSdi = new MediaSearchSdi(); if ("".Equals(isbnTextBox.Text.Trim())) { mediaSearchSdi.Isbn = -1; } else { if (this.isNumber(isbnTextBox.Text)) { mediaSearchSdi.Isbn = Convert.ToInt32(isbnTextBox.Text); } else { MessageBox.Show("isbn is not valid", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if ("".Equals(titleTextBox.Text.Trim())) { mediaSearchSdi.Title = null; } else { mediaSearchSdi.Title = titleTextBox.Text; } if ("".Equals(publisherTextBox.Text.Trim())) { mediaSearchSdi.Publisher = null; } else { mediaSearchSdi.Publisher = publisherTextBox.Text; } if ("".Equals(typeTextBox.Text.Trim())) { mediaSearchSdi.Type = null; } else { mediaSearchSdi.Type = typeTextBox.Text; } if ("".Equals(subjectTextBox.Text.Trim())) { mediaSearchSdi.Subject = null; } else { mediaSearchSdi.Subject = subjectTextBox.Text; } List <Media> medias = mediaService.SearchMedia(mediaSearchSdi); MediaResultSearchForm mediaResultSearchForm = new MediaResultSearchForm(); mediaResultSearchForm.Medias = medias; mediaResultSearchForm.ShowDialog(); }