コード例 #1
0
        }// end of the lstUserName Select Event:

        //
        // UserReview button which will display movie name and review given in the movie with username on the top:
        //
        private void cndUserReview_Click(object sender, EventArgs e)
        {
            this.lstReview1.Items.Clear();

            if (this.lstUserName.SelectedIndex < 0)
            {
                MessageBox.Show("Please select a user...");
                return;
            }

            string username = this.lstUserName.Text;
            int    userID   = System.Int32.Parse(this.txtUserID.Text);

            this.lstReview1.Items.Add(username);
            this.lstReview1.Items.Add("");

            BusinessTier.Business biztier = new BusinessTier.Business(this.txtDatabase.Text);

            BusinessTier.UserDetail details = biztier.GetUserDetail(userID);


            var reviews = details.Reviews;

            foreach (var review in reviews)
            {
                var movieID = review.MovieID;
                BusinessTier.MovieDetail detail = biztier.GetMovieDetail(movieID);
                string line = string.Format("{0}-> {1}", detail.movie.MovieName, review.Rating);
                this.lstReview1.Items.Add(line);
            }
        }//end of the username review button:
コード例 #2
0
        private void button9_Click(object sender, EventArgs e)
        {
            String uname;
            String dbfilename = this.dbname.Text; // get DB name from text box:

            BusinessTier.Business biztier = new BusinessTier.Business(dbfilename);
            if (biztier.TestConnection())
            {
                if (this.listBox2.SelectedIndex < 0)
                {
                    MessageBox.Show("Please select a user");
                    return;
                }
                else
                {
                    uname = this.listBox2.Text;
                    BusinessTier.UserDetail userdetails = biztier.GetUserDetail(System.Int32.Parse(this.textBox1.Text));
                    BusinessTier.Movie      mDetails;
                    this.listBox1.Items.Clear();
                    this.listBox1.Items.Add(uname);
                    this.listBox1.Items.Add("");

                    foreach (var j in userdetails.Reviews)
                    {
                        mDetails = biztier.GetMovie(j.MovieID);
                        this.listBox1.Items.Add(mDetails.MovieName + " -> " + j.Rating);
                    }
                }
            }
            else
            {
                MessageBox.Show("Connection could not be established");
                return;
            }
        }
コード例 #3
0
        private void getuserreviews()
        {
            this.listBox4.Items.Clear();

            string dbfilename = this.textBox1.Text;

            BusinessTier.Business biztier = new BusinessTier.Business(dbfilename);
            if (!biztier.TestConnection())
            {
                return;
            }
            if (textBox6.Text.Length == 0)
            {
                return;
            }
            int userID = Convert.ToInt32(textBox6.Text);

            BusinessTier.UserDetail details = biztier.GetUserDetail(userID);

            var reviews = details.Reviews;

            foreach (var review in reviews)
            {
                string moviename = biztier.GetMovie(review.MovieID).MovieName;
                string line      = string.Format("{0}-> {1}", moviename, review.Rating);
                listBox4.Items.Add(line);
            }
        }
コード例 #4
0
        private void userReviewsBUTTON_Click(object sender, EventArgs e)
        {
            this.displayLISTBOX.Items.Clear();
            //this.typeMovieNameTEXTBOX.Text = " ";

            string filename = this.filenameTEXTBOX.Text;

            BusinessTier.Business biztier = new BusinessTier.Business(filename);

            var user = biztier.GetNamedUser(this.typeUserNameTEXTBOX.Text);

            if (user == null)
            {
                MessageBox.Show("Wrong user name!");
            }
            else
            {
                displayLISTBOX.Items.Add(this.typeUserNameTEXTBOX.Text);
                displayLISTBOX.Items.Add(" ");

                BusinessTier.UserDetail userDetail = biztier.GetUserDetail(user.UserID);

                foreach (var review in userDetail.Reviews)
                {
                    BusinessTier.Movie movie = biztier.GetMovie(review.MovieID);
                    displayLISTBOX.Items.Add(movie.MovieName + " -> " + review.Rating);
                }
            }
        }
コード例 #5
0
        //-----------------------------------------------------------------------------------------------------------------------------------------
        private void button3_Click(object sender, EventArgs e) // Search User Reviews
        {
            listBox2.Items.Clear();                            // clear display

            string dbfilename = this.textBox3.Text;            //get DB name from text box: //where the database is located

            BusinessTier.Business biztier = new BusinessTier.Business(dbfilename);

            string username = this.textBox10.Text;     //get user’s input from where they are clicking

            BusinessTier.User user = biztier.GetNamedUser(username);

            if (user == null)
            {
                MessageBox.Show("Invalid User");
                return;
            }

            BusinessTier.UserDetail ratings = biztier.GetUserDetail(user.UserID); // from Object browser

            listBox2.Items.Add(username);
            listBox2.Items.Add(" ");

            foreach (var x in ratings.Reviews)
            {
                var    movie     = biztier.GetMovie(x.MovieID);
                string movieName = movie.MovieName;

                listBox2.Items.Add(movieName + " -> " + x.Rating);
            }

            this.textBox10.Clear();// clear textBox
        }
コード例 #6
0
        //---------------------------------------------------------------------------------------------------------------------------


        //---------------------------------------------------------------------------------------------------------------------------
        //
        // Get User Reviews
        //
        private void button4_Click(object sender, EventArgs e)
        {
            // Clear list box
            this.lstUserReviews.Items.Clear();

            // Wait for user to select a user
            if (this.lstUsers.SelectedIndex < 0)
            {
                MessageBox.Show("Please select a user...");
                return;
            }

            // Get user name
            string username = this.lstUsers.Text;

            // Check if user is not found, display error message
            if (username == null)
            {
                MessageBox.Show("User not found");
                return;
            }


            int userID = System.Int32.Parse(this.txtUserID.Text);

            this.lstUserReviews.Items.Add(username);
            this.lstUserReviews.Items.Add("");



            BusinessTier.Business biztier = new BusinessTier.Business(this.txtDatabase.Text);

            BusinessTier.UserDetail details = biztier.GetUserDetail(userID);

            // No reviews
            if (details == null)
            {
                MessageBox.Show("No Reviews");
                return;
            }

            var reviews = details.Reviews;

            // Display movie name and rating
            foreach (var review in reviews)
            {
                BusinessTier.Movie movie = biztier.GetMovie(review.MovieID);

                string line = string.Format("{0} -> {1}", movie.MovieName, review.Rating);
                this.lstUserReviews.Items.Add(line);
            }
        }
コード例 #7
0
ファイル: Form1.cs プロジェクト: abreyer3/NetflixApp
        // Get all reviews entered by a particular Netflix user
        private void btn_getUserReviews_Click(object sender, EventArgs e)
        {
            this.listBox_reviews.Items.Clear();

            if (this.listBox_users.SelectedIndex < 0)
            {
                MessageBox.Show("Please select a user...");
                return;
            }

            string filename = this.textBox_filename.Text;

            if (!fileExists(filename))
            {
                return;
            }

            string userName = this.listBox_users.Text;
            int    userID   = System.Int32.Parse(this.textBox_userID.Text);

            this.listBox_reviews.Items.Add(userName);
            this.listBox_reviews.Items.Add("");

            BusinessTier.Business   biztier  = new BusinessTier.Business(filename);
            BusinessTier.UserDetail details2 = biztier.GetUserDetail(userID);

            var reviews2 = details2.Reviews;

            if (reviews2.Count <= 0)
            {
                string line = "-No reviews-";
                this.listBox_reviews.Items.Add(line);
                return;
            }

            this.Cursor = Cursors.WaitCursor;

            foreach (var review in reviews2)
            {
                BusinessTier.MovieDetail details = biztier.GetMovieDetail(review.MovieID);

                string line = string.Format("{0} -> {1}", details.movie.MovieName, review.Rating);

                this.listBox_reviews.Items.Add(line);
            }

            this.Cursor = Cursors.Default;
        }
コード例 #8
0
        //
        // GetUserDetail:
        //
        // Given a USER ID, returns detailed information about this user --- all
        // the reviews submitted by this user, the total number of reviews, average
        // rating given, etc.  If the user cannot be found, null is returned.
        //
        public UserDetail GetUserDetail(int UserID)
        {
            // USER OBJECT -----------------------------------------------------------------------------
            BusinessTier.User User = GetUser(UserID);
            // -----------------------------------------------------------------------------------------

            // AVG RATING ------------------------------------------------------------------------------
            double avgRating;
            string sql   = string.Format(@"SELECT AVG(CAST(Rating as float)) FROM Reviews WHERE UserID = {0};", UserID);
            object query = dataTier.ExecuteScalarQuery(sql);

            if (query.ToString() != "")
            {
                avgRating = Convert.ToDouble(query.ToString());
            }
            else
            {
                avgRating = 0.0;
            }
            // -----------------------------------------------------------------------------------------

            // NUM OF REVIEWS --------------------------------------------------------------------------
            sql   = string.Format(@"SELECT Count(UserID) FROM Reviews WHERE UserID = {0};", UserID);
            query = dataTier.ExecuteScalarQuery(sql);
            int numReviews = Convert.ToInt32(query.ToString());
            // -----------------------------------------------------------------------------------------

            // BUILDING LIST OF REVIEWS ----------------------------------------------------------------
            List <Review> reviews = new List <Review>();

            // HARVESTS ALL DATA WE NEED EXCEPT MOVIEID (ALREADY HAVE)
            sql = string.Format(@"SELECT DISTINCT ReviewID, Rating, MovieID FROM Reviews WHERE UserID = {0} ORDER BY Rating DESC, ReviewID ASC;", UserID);
            DataSet reviewsSet = dataTier.ExecuteNonScalarQuery(sql);

            foreach (DataRow row in reviewsSet.Tables["TABLE"].Rows)
            {
                reviews.Add(new BusinessTier.Review(Convert.ToInt32(row["ReviewID"]),
                                                    Convert.ToInt32(row["MovieID"]),
                                                    UserID,
                                                    Convert.ToInt32(row["Rating"])));
            }
            // -----------------------------------------------------------------------------------------

            BusinessTier.UserDetail UserDetail = new BusinessTier.UserDetail(User, avgRating, numReviews, reviews);

            return(UserDetail);
        }
コード例 #9
0
ファイル: Form1.cs プロジェクト: jrodr23/Netflix-App
        /* Displays all of the users reviews in a listbox */
        public void getAllUserReviews()
        {
            int index = this.listBox1.SelectedIndex;

            BusinessTier.Business btier = new BusinessTier.Business(this.textBox1.Text);

            // test connection to database
            if (!btier.TestConnection())
            {
                MessageBox.Show("Can't connect to the database!");
                return;
            }

            // Get user if the user exists
            BusinessTier.User user = btier.GetNamedUser(this.listBox1.Items[index].ToString());

            if (user == null)
            {
                MessageBox.Show("User does not exist!");
                return;
            }
            else
            {
                // Get all of the users reviews
                this.listBox2.Items.Clear();
                BusinessTier.UserDetail userDetails = btier.GetUserDetail(user.UserID);

                if (userDetails.NumReviews == 0)
                {
                    this.listBox2.Items.Add("No Reviews");
                }
                else
                {
                    // For all reviews, get movie name + rating and insert
                    this.listBox2.Items.Add(user.UserName);
                    this.listBox2.Items.Add("");

                    foreach (BusinessTier.Review U in userDetails.Reviews)
                    {
                        BusinessTier.Movie m = btier.GetMovie(U.MovieID);
                        this.listBox2.Items.Add(m.MovieName + "->" + U.Rating);
                    }
                }
            }
        }
コード例 #10
0
        private void listLISTBOX_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (LIST_STATUS != 3)
            {
                this.displayLISTBOX.Items.Clear();
            }

            string filename = this.filenameTEXTBOX.Text;

            BusinessTier.Business biztier = new BusinessTier.Business(filename);

            if (LIST_STATUS == 1)           // movie button
            {
                if (this.listLISTBOX != null)
                {
                    // movie name
                    var movie = biztier.GetMovie(this.listLISTBOX.Text);
                    movieIdTEXTBOX.Text = movie.MovieID.ToString();
                    //typeMovieNameTEXTBOX.Text = movie.MovieName.ToString();
                    typeMovieNameTEXTBOX.Text = "";
                    typeUserNameTEXTBOX.Text  = "";

                    // avg rating
                    var movie2 = biztier.GetMovieDetail(movie.MovieID);
                    avgRatingTEXTBOX.Text = movie2.AvgRating.ToString();


                    displayLISTBOX.Items.Add(this.listLISTBOX.Text);
                    displayLISTBOX.Items.Add(" ");

                    BusinessTier.MovieDetail movieDetail = biztier.GetMovieDetail(movie.MovieID);

                    foreach (var review in movieDetail.Reviews)
                    {
                        displayLISTBOX.Items.Add(review.UserID + ": " + review.Rating);
                    }
                }
            }
            else if (LIST_STATUS == 2)      // user button
            {
                if (this.listLISTBOX != null)
                {
                    // user id
                    var user = biztier.GetNamedUser(this.listLISTBOX.Text);
                    userIdTEXTBOX.Text = user.UserID.ToString();
                    //typeUserNameTEXTBOX.Text = user.UserName.ToString();
                    typeMovieNameTEXTBOX.Text = "";
                    typeUserNameTEXTBOX.Text  = "";

                    // occupation
                    occupationTEXTBOX.Text = user.Occupation.ToString();


                    displayLISTBOX.Items.Add(this.listLISTBOX.Text);
                    displayLISTBOX.Items.Add(" ");

                    BusinessTier.UserDetail userDetail = biztier.GetUserDetail(user.UserID);

                    foreach (var review in userDetail.Reviews)
                    {
                        BusinessTier.Movie movie = biztier.GetMovie(review.MovieID);
                        displayLISTBOX.Items.Add(movie.MovieName + " -> " + review.Rating);
                    }
                }
            }
            else if (LIST_STATUS == 3)
            {
                insertReviewMovieTEXTBOX.Text = this.listLISTBOX.Text;
            }
        }