예제 #1
0
        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);
        }
예제 #2
0
        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");
        }
예제 #3
0
 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;
 }