public DataSet GetAllMoviesBySearchCriteria(MovieSearchCriteria criteria) { DataSet dtStMovies; SqlParameter[] arrParam = new SqlParameter[8]; arrParam[0] = new SqlParameter("@name", criteria.Name); arrParam[1] = new SqlParameter("@language", criteria.Language); arrParam[2] = new SqlParameter("@myRating", criteria.MyRating); arrParam[3] = new SqlParameter("@year", criteria.Year); arrParam[4] = new SqlParameter("@genre", criteria.Genre); arrParam[5] = new SqlParameter("@seen", criteria.IsWatched); arrParam[6] = new SqlParameter("@imdbRating", criteria.IMDBRating); arrParam[7] = new SqlParameter("@size", criteria.Size); StringBuilder sbSPParams = new StringBuilder(); foreach (var param in arrParam) { sbSPParams.Append(param.ParameterName + ":" + param.Value + " & "); } sbSPParams.Remove(sbSPParams.Length - 3, 3); PlanetM_Utility.LogWrapper.LogInfo(string.Format("Executing SP:{0} Parameter Details>> {1}", StoredProcedure.GetAllMoviesBySearchCriteriaFromPlanetM, sbSPParams.ToString())); dtStMovies = SqlHelper.ExecuteDataset(m_Connection_String, CommandType.StoredProcedure, StoredProcedure.GetAllMoviesBySearchCriteriaFromPlanetM, arrParam); return dtStMovies; }
private void buttonSearch_Click(object sender, EventArgs e) { criteria = new AbstractLayer.MovieSearchCriteria(); criteria.Name = textBoxName.Text.Trim(); criteria.Language = comboBoxLanguage.SelectedItem.ToString(); criteria.Year = comboBoxYear.SelectedItem.ToString(); criteria.MyRating = comboBoxRating.SelectedItem.ToString(); criteria.IsWatched = comboBoxIsSeen.SelectedItem.ToString(); Regex regex = new Regex(@"(ALL)|(^)|(MB)|(&)|(\s\s)"); criteria.Size = regex.Replace(comboBoxSize.SelectedItem.ToString(), match => { switch (match.ToString()) { case "ALL": return "Size = Size"; case "": return "Size "; case "MB": return ""; case "&": return "AND Size"; case " ": return ""; } return match.ToString(); }); regex = new Regex(@"(ALL)|(^)|(&)|(\s\s)"); criteria.IMDBRating = regex.Replace(comboBoxIMDBRating.SelectedItem.ToString(), match => { switch (match.ToString()) { case "ALL": return "IMDBRating = IMDBRating"; case "": return "IMDBRating "; case "&": return "AND IMDBRating"; case " ": return ""; } return match.ToString(); }); if (checkedListBoxGenre.CheckedIndices.Contains(0) && checkedListBoxGenre.CheckedItems.Count == checkedListBoxGenre.Items.Count) { criteria.Genre = "ALL"; } else if (checkedListBoxGenre.CheckedItems.Count < checkedListBoxGenre.Items.Count - 1) { criteria.Genre = ""; foreach (var genre in checkedListBoxGenre.CheckedItems) { criteria.Genre += genre.ToString() + ","; } if (checkedListBoxGenre.CheckedItems.Count > 0) criteria.Genre = criteria.Genre.Remove(criteria.Genre.Length - 1, 1); } DataTable movies = dbObj.GetAllMoviesBySearchCriteria(criteria).Tables[0]; labelResults.Text = movies.Rows.Count.ToString(); int iterator = 0; dgMovies.Rows.Clear(); foreach (DataRow drMovie in movies.AsEnumerable()) { dgMovies.Rows.Add(); dgMovies.Rows[iterator].Cells["MovieName"].Value = drMovie["Name"]; dgMovies.Rows[iterator].Cells["Language"].Value = drMovie["Language"]; if (drMovie["Year"].ToString() == "0") dgMovies.Rows[iterator].Cells["Year"].Value = "NA"; else dgMovies.Rows[iterator].Cells["Year"].Value = drMovie["Year"].ToString(); if (drMovie["Seen"].ToString() == Boolean.TrueString) { dgMovies.Rows[iterator].Cells["Seen"].Value = "Yes"; } else if (drMovie["Seen"].ToString() == bool.FalseString) { dgMovies.Rows[iterator].Cells["Seen"].Value = "No"; } dgMovies.Rows[iterator].Cells["Size"].Value = drMovie["Size"]; if (drMovie["MyRating"].ToString() == "0") dgMovies.Rows[iterator].Cells["MyRating"].Value = "NA"; else dgMovies.Rows[iterator].Cells["MyRating"].Value = drMovie["MyRating"].ToString(); if (drMovie["IMDBRating"].ToString() == "0") dgMovies.Rows[iterator].Cells["IMDBRating"].Value = "NA"; else dgMovies.Rows[iterator].Cells["IMDBRating"].Value = drMovie["IMDBRating"].ToString(); if (drMovie["Genre"].ToString().Length > 0) dgMovies.Rows[iterator].Cells["Genre"].Value = drMovie["Genre"]; else dgMovies.Rows[iterator].Cells["Genre"].Value = ""; ApplyStyleForRow(iterator, drMovie["Language"].ToString(), Convert.ToDouble(drMovie["Size"]), Convert.ToInt32(drMovie["MyRating"]), Convert.ToDouble(drMovie["IMDBRating"]), Convert.ToInt32(drMovie["Year"])); iterator++; } groupBoxExport.Enabled = true; }