コード例 #1
0
        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;
        }
コード例 #2
0
ファイル: Search.cs プロジェクト: Nandu-Khobare/PlanetM
        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;
        }