// // 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); }
public Movie() { movieInfo = new MovieInfo(); genreList = new List <string>(); }
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); }
public Movie() { movieInfo = new MovieInfo(); genreList = new List<string>(); }