private void button1_Click(object sender, EventArgs e) { //string movieIDin = textBox1.Text; int movieID = System.Convert.ToInt32(textBox1.Text); BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var MovieName = BT.GetMovie(movieID); SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("MovieName"); if (MovieName == null) { frm.listBox1.Items.Add("MovieID does not exist"); } else { frm.listBox1.Items.Add(MovieName.MovieName); } frm.ShowDialog(); }
// // Add Review: // private void cmdInsertReview_Click(object sender, EventArgs e) { // // Get the movie name from the list of movies: // if (this.listBox1.SelectedIndex < 0) { MessageBox.Show("Please select a movie..."); return; } string MovieName = this.listBox1.Text; // // And the user name from the list of users: // if (this.listBox2.SelectedIndex < 0) { MessageBox.Show("Please select a user..."); return; } string UserName = this.listBox2.Text; // // NOTE: since a movie and a user is selected, the movie and user IDs are // available from the associated text boxes: // int movieid = Convert.ToInt32(this.txtMovieID.Text); int userid = Convert.ToInt32(this.txtUserID.Text); int rating = Convert.ToInt32(lblRating.Text); //grab the rating // // Insert movie review: // BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var review = BT.AddReview(movieid, userid, rating); if (review != null) // success! { SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("Great Success!"); string msg = string.Format("ReviewID added: {0}", review.ReviewID); frm.listBox1.Items.Add(msg); frm.ShowDialog(); } }
private void button2_Click(object sender, EventArgs e) { int userID = System.Convert.ToInt32(textBox2.Text); BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var userName = BT.GetUser(userID); SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("UserName"); if (userName == null) { frm.listBox1.Items.Add("UserID does not exist"); } else { frm.listBox1.Items.Add(userName.UserName); } frm.ShowDialog(); }
// // File >> Top Users by New Reviews: // private void topUsersByNumReviewsToolStripMenuItem_Click(object sender, EventArgs e) { string N = txtTopN.Text; int topN = System.Convert.ToInt32(N); BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var TopMovies = BT.GetTopUsersByNumReviews(topN); SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("Top \"{0}\" movies by num reviews", N); //frm.listBox1.Items.Add(name); frm.listBox1.Items.Add(""); if (TopMovies == null) { frm.listBox1.Items.Add("No reviews..."); } else { foreach (BusinessTier.User m in TopMovies) { int theMovie = m.UserID; BusinessTier.Business BT2 = new BusinessTier.Business("netflix.mdf"); var count = BT2.GetUserDetail(theMovie).NumReviews; string msg = string.Format("{0} -> {1}", m.UserName, count); frm.listBox1.Items.Add(msg); } } frm.ShowDialog(); /* * SqlConnection db; * db = new SqlConnection(m_connectionInfo); * db.Open(); * * SqlCommand cmd = new SqlCommand(); * cmd.Connection = db; * * // * // Group all the reivews by user, count, and take top N: * // * string N = txtTopN.Text; * * // * // NOTE: some reviews are anonymous, i.e. we don't have a username. So we * // use a "RIGHT JOIN" to capture those as well. * // * cmd.CommandText = string.Format(@"SELECT TOP {0} Users.UserName, Temp.RatingCount * FROM Users * RIGHT JOIN * ( * SELECT UserID, COUNT(*) AS RatingCount * FROM Reviews * GROUP BY UserID * ) AS Temp * On Temp.UserID = Users.UserID * ORDER BY Temp.RatingCount DESC, Users.UserName Asc;", * N); * * // MessageBox.Show(cmd.CommandText); * * SqlDataAdapter adapter = new SqlDataAdapter(cmd); * DataSet ds = new DataSet(); * * adapter.Fill(ds); // execute! * * db.Close(); * * // * // display results: * // * DataTable dt = ds.Tables["TABLE"]; * * if (dt.Rows.Count == 0) * { * MessageBox.Show("**Error: no movies, is database empty?!"); * } * else * { * // * // we have ratings data, display in our subform: * // * SubForm frm = new SubForm(); * * frm.lblHeader.Text = "Top Users by Number of Reviews"; * * foreach (DataRow row in dt.Rows) * { * string username = row["UserName"].ToString(); * * if (username == "") * username = "******"; * * string msg = string.Format("{0}: {1}", * username, row["RatingCount"]); * * frm.listBox1.Items.Add(msg); * } * * frm.ShowDialog(); * } */ }
// // File >> Top Movies by Num Reviews: // private void topMoviesByNumReviewsToolStripMenuItem_Click(object sender, EventArgs e) { string N = txtTopN.Text; int topN = System.Convert.ToInt32(N); BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var TopMovies = BT.GetTopMoviesByNumReviews(topN); SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("Top \"{0}\" num reviews", N); //frm.listBox1.Items.Add(name); frm.listBox1.Items.Add(""); if (TopMovies == null) { frm.listBox1.Items.Add("No reviews..."); } else { foreach (BusinessTier.Movie m in TopMovies) { int theMovie = m.MovieID; BusinessTier.Business BT2 = new BusinessTier.Business("netflix.mdf"); var rating = BT.GetMovieDetail(theMovie).Reviews.Count; string msg = string.Format("{0} -> {1}", m.MovieName, rating); frm.listBox1.Items.Add(msg); } } frm.ShowDialog(); /* * SqlConnection db; * db = new SqlConnection(m_connectionInfo); * db.Open(); * * SqlCommand cmd = new SqlCommand(); * cmd.Connection = db; * * // * // Group all the reviews for each movie, compute averages, and take top N: * // * string N = txtTopN.Text; * * cmd.CommandText = string.Format(@"SELECT TOP {0} Movies.MovieName, g.RatingCount * FROM Movies * INNER JOIN * ( * SELECT MovieID, COUNT(*) as RatingCount * FROM Reviews * GROUP BY MovieID * ) g * ON g.MovieID = Movies.MovieID * ORDER BY g.RatingCount DESC, Movies.MovieName Asc;", * N); * * // MessageBox.Show(cmd.CommandText); * * SqlDataAdapter adapter = new SqlDataAdapter(cmd); * DataSet ds = new DataSet(); * * adapter.Fill(ds); // execute! * * db.Close(); * * // * // display results: * // * DataTable dt = ds.Tables["TABLE"]; * * if (dt.Rows.Count == 0) * { * MessageBox.Show("**Error: no movies, is database empty?!"); * } * else * { * // * // we have ratings data, display in our subform: * // * SubForm frm = new SubForm(); * * frm.lblHeader.Text = "Top Movies by Number of Reviews"; * * foreach (DataRow row in dt.Rows) * { * string msg = string.Format("{0}: {1}", * row["MovieName"], row["RatingCount"]); * * frm.listBox1.Items.Add(msg); * } * * frm.ShowDialog(); * } * */ }
// // Reviews for selected user: // private void cmdUserReviews_Click(object sender, EventArgs e) { string name; if (this.listBox2.SelectedIndex < 0) { MessageBox.Show("Please select a user..."); return; } name = this.listBox2.Text; // // NOTE: since a user is selected, the user id is in the associated textbox: // int userid = Convert.ToInt32(this.txtUserID.Text); BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var selectedReviews = BT.GetUserDetail(userid); SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("Reviews for \"{0}\"", name); frm.listBox1.Items.Add(name); frm.listBox1.Items.Add(""); if (selectedReviews != null) { foreach (BusinessTier.Review m in selectedReviews.Reviews) { //this.listBox1.Items.Add(m.Rating); BusinessTier.Business BT2 = new BusinessTier.Business("netflix.mdf"); var movieIn = BT2.GetMovieDetail(m.MovieID); frm.listBox1.Items.Add(movieIn.movie.MovieName + ": " + m.Rating); } } else { frm.listBox1.Items.Add("No reviews..."); } frm.ShowDialog(); /* * // * // Get all the reviews by this user: * // * SqlConnection db; * db = new SqlConnection(m_connectionInfo); * db.Open(); * * SqlCommand cmd = new SqlCommand(); * cmd.Connection = db; * * SqlDataAdapter adapter = new SqlDataAdapter(cmd); * DataSet ds = new DataSet(); * * cmd.CommandText = string.Format(@"SELECT Movies.MovieName, Temp.Rating * FROM Movies * INNER JOIN * ( * SELECT MovieID, Rating * FROM Reviews * WHERE UserID={0} * ) AS Temp * ON Temp.MovieID = Movies.MovieID * ORDER BY Movies.MovieName ASC, Temp.Rating ASC;", * userid); * * // MessageBox.Show(cmd.CommandText); * * adapter.Fill(ds); * * db.Close(); * * // * // Display the results in a subform: * // * SubForm frm = new SubForm(); * * frm.lblHeader.Text = string.Format("Reviews by \"{0}\"", name); * * frm.listBox1.Items.Add(name); * frm.listBox1.Items.Add(""); * * DataTable dt = ds.Tables["TABLE"]; * * if (dt.Rows.Count == 0) * { * frm.listBox1.Items.Add("No reviews..."); * } * else * { * foreach (DataRow row in dt.Rows) * { * string msg = string.Format("{0} -> {1}", * row["MovieName"], row["Rating"]); * * frm.listBox1.Items.Add(msg); * } * } * * frm.ShowDialog(); */ }
// // Summary of reviews (by each rating) for selected movie: // private void cmdReviewsSummary_Click(object sender, EventArgs e) { string name; if (this.listBox1.SelectedIndex < 0) { MessageBox.Show("Please select a movie..."); return; } name = this.listBox1.Text; // // NOTE: since a movie is selected, the movie id is in the associated textbox: // int movieid = Convert.ToInt32(this.txtMovieID.Text); BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var ratings = BT.GetMovieDetail(movieid); int one = ratings.Reviews.Count(p => p.Rating == 1); int two = ratings.Reviews.Count(p => p.Rating == 2); int thr = ratings.Reviews.Count(p => p.Rating == 3); int fur = ratings.Reviews.Count(p => p.Rating == 4); int fiv = ratings.Reviews.Count(p => p.Rating == 5); SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("Reviews count for \"{0}\"", name); frm.listBox1.Items.Add(name); frm.listBox1.Items.Add(""); if (ratings != null) { frm.listBox1.Items.Add("5 : " + fiv); frm.listBox1.Items.Add("4 : " + fur); frm.listBox1.Items.Add("3 : " + thr); frm.listBox1.Items.Add("2 : " + two); frm.listBox1.Items.Add("1 : " + one); } else { frm.listBox1.Items.Add("No reviews..."); } frm.ShowDialog(); // // Let's get all the reviews, grouped by rating and count each group: // /* * SqlConnection db; * db = new SqlConnection(m_connectionInfo); * db.Open(); * * SqlCommand cmd = new SqlCommand(); * cmd.Connection = db; * * // * // Group all the ratings for given movie, and then count each group: * // * cmd.CommandText = string.Format(@"SELECT Rating, COUNT(Rating) as RatingCount * FROM Reviews * WHERE Reviews.MovieID={0} * GROUP BY Rating * ORDER BY Rating DESC;", * movieid); * * // MessageBox.Show(cmd.CommandText); * * SqlDataAdapter adapter = new SqlDataAdapter(cmd); * DataSet ds = new DataSet(); * * adapter.Fill(ds); // execute! * * db.Close(); * * // * // display results: * // * SubForm frm = new SubForm(); * * frm.lblHeader.Text = string.Format("Review Summary for \"{0}\"", name); * * frm.listBox1.Items.Add(name); * frm.listBox1.Items.Add(""); * * DataTable dt = ds.Tables["TABLE"]; * * if (dt.Rows.Count == 0) * { * frm.listBox1.Items.Add("No reviews..."); * } * else * { * int total = 0; * * // * // we have ratings data, display: * // * foreach (DataRow row in dt.Rows) * { * string msg = string.Format("{0}: {1}", * row["Rating"], row["RatingCount"]); * * frm.listBox1.Items.Add(msg); * * total = total + Convert.ToInt32(row["RatingCount"]); * } * * frm.listBox1.Items.Add(""); * frm.listBox1.Items.Add("Total: " + total.ToString()); * } * * frm.ShowDialog(); */ }
// // Reviews for selected movie: // private void cmdMovieReviews_Click(object sender, EventArgs e) { string name; if (this.listBox1.SelectedIndex < 0) { MessageBox.Show("Please select a movie..."); return; } name = this.listBox1.Text; //name of selected movie // // NOTE: since a movie is selected, the movie id is in the associated textbox: // int movieid = Convert.ToInt32(this.txtMovieID.Text); //movie id of selected movie /* * listBox1.Items.Clear(); * BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); * var movies = BT.GetAllMovies(); * * foreach (BusinessTier.Movie m in movies) * { * this.listBox1.Items.Add(m.MovieName); * } */ // // Get all the reviews for this movie: // BusinessTier.Business BT = new BusinessTier.Business("netflix.mdf"); var ratings = BT.GetMovieDetail(movieid); /* * SubForm frm = new SubForm(); * * frm.lblHeader.Text = string.Format("Reviews for \"{0}\"", name); * * frm.listBox1.Items.Add(name); * frm.listBox1.Items.Add(""); * * DataTable dt = ds.Tables["TABLE"]; * * if (dt.Rows.Count == 0) * { * frm.listBox1.Items.Add("No reviews..."); * } * else * { * foreach (DataRow row in dt.Rows) * { * string msg = string.Format("{0}: {1}", * row["UserID"], row["Rating"]); * * frm.listBox1.Items.Add(msg); * } * } * * frm.ShowDialog(); * */ SubForm frm = new SubForm(); frm.lblHeader.Text = string.Format("Reviews for \"{0}\"", name); frm.listBox1.Items.Add(name); frm.listBox1.Items.Add(""); if (ratings != null) { foreach (BusinessTier.Review m in ratings.Reviews) { //this.listBox1.Items.Add(m.Rating); frm.listBox1.Items.Add(m.ReviewID + ": " + m.Rating); } } else { frm.listBox1.Items.Add("No reviews..."); } frm.ShowDialog(); /* * SqlConnection db; * db = new SqlConnection(m_connectionInfo); * db.Open(); * * SqlCommand cmd = new SqlCommand(); * cmd.Connection = db; * * SqlDataAdapter adapter = new SqlDataAdapter(cmd); * DataSet ds = new DataSet(); * * cmd.CommandText = string.Format(@"SELECT UserID, Rating * FROM Reviews * WHERE MovieID={0} * ORDER BY Rating Desc, UserID ASC;", * movieid); * * // MessageBox.Show(cmd.CommandText); * * adapter.Fill(ds); * * db.Close(); * * // * // Display the results in a subform: * // * SubForm frm = new SubForm(); * * frm.lblHeader.Text = string.Format("Reviews for \"{0}\"", name); * * frm.listBox1.Items.Add(name); * frm.listBox1.Items.Add(""); * * DataTable dt = ds.Tables["TABLE"]; * * if (dt.Rows.Count == 0) * { * frm.listBox1.Items.Add("No reviews..."); * } * else * { * foreach (DataRow row in dt.Rows) * { * string msg = string.Format("{0}: {1}", * row["UserID"], row["Rating"]); * * frm.listBox1.Items.Add(msg); * } * } * * frm.ShowDialog(); * */ }