public ActionResult movie(int id) { DataModels.d8u6uelvine6d6DB database = new DataModels.d8u6uelvine6d6DB(); var singleMovie = (from movie in database.movies where movie.id == id select new GroupedMovie() { title = movie.title, original_title = movie.original_title, movie_average = movie.vote_average }).FirstOrDefault(); var genreList = (from genre in database.genres join movie_genre in database.movie_genre on genre.id equals movie_genre.genre_id into firstIds from genreId in firstIds.DefaultIfEmpty() where genreId.movie_id == id select genre.name).ToList(); singleMovie.genre = new List<string>(); foreach (string elem in genreList) singleMovie.genre.Add(elem); singleMovie.desc = GetDescription(singleMovie.title); return View(singleMovie); }
public ActionResult GenerateChart() { DataModels.d8u6uelvine6d6DB database = new DataModels.d8u6uelvine6d6DB(); var genresList = (from movie_genre in database.movie_genre join genre in database.genres on movie_genre.genre_id equals genre.id group movie_genre.genre_id by genre.name into genres select new { genreName = genres.Key, genreCount = genres.Count() }); Chart chart = new Chart(); chart.ChartAreas.Add(new ChartArea()); chart.Series.Add(new Series("Data")); chart.Legends.Add(new Legend("Genres")); chart.Series["Data"].ChartType = SeriesChartType.Pie; chart.Series["Data"]["PieLabelStyle"] = "Outside"; chart.Series["Data"]["PieLineColor"] = "Black"; chart.Width = 640; chart.Height = 480; foreach (var elem in genresList) { int point = chart.Series["Data"].Points.AddXY(elem.genreName, elem.genreCount); DataPoint pt = chart.Series["Data"].Points[point]; pt.LegendText = "#VALX: #VALY"; } chart.Series["Data"].Label = "#PERCENT{P0}"; chart.Series["Data"].ChartType = SeriesChartType.Pie; chart.Series["Data"]["PieLabelStyle"] = "Outside"; chart.Series["Data"].Legend = "Genres"; chart.Legends["Genres"].Docking = Docking.Bottom; var returnStream = new MemoryStream(); chart.ImageType = ChartImageType.Png; chart.SaveImage(returnStream); returnStream.Position = 0; return new FileStreamResult(returnStream, "image/png"); }
public List<DataModels.movie> GetTopMoviesRanking() { DataModels.d8u6uelvine6d6DB database = new DataModels.d8u6uelvine6d6DB(); List<DataModels.movie> moviesList = (from movie in database.movies orderby movie.vote_average descending, movie.release_date ascending select movie).Take(20).ToList(); return moviesList; }