Example #1
0
        //
        // GET: /Index/
        public ActionResult Index()
        {
            IndexModel indexModel = new IndexModel();
            MovieInfo newMovie;

            NpgsqlConnection connection = new NpgsqlConnection(ConfigurationManager.AppSettings["connectionString"]);
            try
            {
                connection.Open();
            }
            catch (Exception e)
            {
                indexModel.errorMessage = "Couldn't connect to server";
            }

            if (String.IsNullOrEmpty(indexModel.errorMessage))
            {
                try
                {
                    NpgsqlCommand command = new NpgsqlCommand("SELECT id,vote_average,title FROM movie WHERE vote_count > 100 ORDER BY vote_average DESC, release_date LIMIT 20;", connection);
                    NpgsqlDataReader dataReader = command.ExecuteReader();
                    while (dataReader.Read())
                    {
                        newMovie = new MovieInfo
                        {
                            id = (int)dataReader[0],
                            voteAverage = (float)dataReader[1],
                            title = (string)dataReader[2]
                        };

                        indexModel.movieList.Add(newMovie);
                    }
                }
                finally
                {
                    connection.Close();
                }
            }
            return View(indexModel);
        }
Example #2
0
 public Movie()
 {
     movieInfo = new MovieInfo();
     genreList = new List <string>();
 }
Example #3
0
        public ActionResult Index(Search searchModel)
        {
            MovieInfo newMovie;

            NpgsqlConnection connection = new NpgsqlConnection(ConfigurationManager.AppSettings["connectionString"]);
            try
            {
                connection.Open();
            }
            catch (Exception e)
            {
                searchModel.errorMessage = "Couldn't connect to server";
            }

            if (String.IsNullOrEmpty(searchModel.errorMessage))
            {

                if (searchModel.voteAverageSearch!=0 || !String.IsNullOrEmpty(searchModel.genreSearch))
                {
                    NpgsqlCommand command;
                    if (searchModel.voteAverageSearch!=0  && !String.IsNullOrEmpty(searchModel.genreSearch))
                    {
                        command = new NpgsqlCommand("SELECT m.id,m.vote_average,m.title FROM movie_genre AS mg, genre AS g, movie AS m WHERE mg.genre_id = g.id AND mg.movie_id = m.id AND m.vote_average > " + Convert.ToString(searchModel.voteAverageSearch, CultureInfo.InvariantCulture.NumberFormat) + " AND g.name = '" + searchModel.genreSearch + "' ORDER BY m.vote_average DESC, m.release_date;", connection);
                    }
                    else if (searchModel.voteAverageSearch!=0  && String.IsNullOrEmpty(searchModel.genreSearch))
                    {
                        command = new NpgsqlCommand("SELECT id,vote_average,title FROM movie WHERE vote_average > " + Convert.ToString(searchModel.voteAverageSearch, CultureInfo.InvariantCulture.NumberFormat) + " ORDER BY vote_average DESC, release_date;", connection);
                    }
                    else
                    {
                        command = new NpgsqlCommand("SELECT m.id,m.vote_average,m.title FROM movie_genre AS mg, genre AS g, movie AS m WHERE mg.genre_id = g.id AND mg.movie_id = m.id AND g.name = '" + searchModel.genreSearch + "' ORDER BY m.vote_average DESC, m.release_date;", connection);
                    }

                    try
                    {
                        NpgsqlDataReader dataReader = command.ExecuteReader();
                        while (dataReader.Read())
                        {
                            newMovie = new MovieInfo
                            {
                                id = (int)dataReader[0],
                                voteAverage = (float)dataReader[1],
                                title = (string)dataReader[2]
                            };

                            searchModel.searchResult.Add(newMovie);
                        }

                        if (searchModel.searchResult.Count == 0)
                        {
                            searchModel.errorMessage = "Couldn't find any matching films";
                        }
                    }
                    finally
                    {
                        connection.Close();
                    }
                }
            }

            return View(searchModel);
        }
Example #4
0
 public Movie()
 {
     movieInfo = new MovieInfo();
     genreList = new List<string>();
 }