Esempio n. 1
0
        public static void Initialize(IServiceProvider serviceProvider)
        {
            using (var context = new DataContext(
                       serviceProvider.GetRequiredService <DbContextOptions <DataContext> >()))
            {
                // Look for any movies.
                if (context.Movies.Any())
                {
                    return;                             // DB has been seeded
                }

                var user1 = new User();
                var user2 = new User();
                var user3 = new User();
                var user4 = new User();
                var user5 = new User();
                var user6 = new User();
                context.Users.Add(user1);
                context.Users.Add(user2);
                context.Users.Add(user3);
                context.Users.Add(user4);
                context.Users.Add(user5);
                context.Users.Add(user6);

                var genreAdventure = new Genre
                {
                    Name = "Adventure"
                };
                var genreDrama = new Genre
                {
                    Name = "Drama"
                };
                var genreFantasy = new Genre
                {
                    Name = "Fantasy"
                };
                var genreComedy = new Genre
                {
                    Name = "Comedy"
                };
                var genreFamily = new Genre
                {
                    Name = "Family"
                };
                context.Genres.Add(genreAdventure);
                context.Genres.Add(genreDrama);
                context.Genres.Add(genreFantasy);
                context.Genres.Add(genreComedy);
                context.Genres.Add(genreFamily);

                var movieFellowshipOfTheRing = new Movie
                {
                    Title         = "The Lord of the Rings: The Fellowship of the Ring",
                    YearOfRelease = 2001,
                    RunningTime   = 178
                };

                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieFellowshipOfTheRing,
                    Genre = genreAdventure
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieFellowshipOfTheRing,
                    Genre = genreDrama
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieFellowshipOfTheRing,
                    Genre = genreFantasy
                });

                var movieUserRatings1 = new MovieUserRating
                {
                    Movie  = movieFellowshipOfTheRing,
                    User   = user1,
                    Rating = 5
                };
                var movieUserRatings2 = new MovieUserRating
                {
                    Movie  = movieFellowshipOfTheRing,
                    User   = user2,
                    Rating = 4
                };
                var movieUserRatings3 = new MovieUserRating
                {
                    Movie  = movieFellowshipOfTheRing,
                    User   = user3,
                    Rating = 3
                };
                var movieUserRatings4 = new MovieUserRating
                {
                    Movie  = movieFellowshipOfTheRing,
                    User   = user4,
                    Rating = 4
                };
                var movieUserRatings5 = new MovieUserRating
                {
                    Movie  = movieFellowshipOfTheRing,
                    User   = user5,
                    Rating = 5
                };
                context.MovieUserRatings.Add(movieUserRatings1);
                context.MovieUserRatings.Add(movieUserRatings2);
                context.MovieUserRatings.Add(movieUserRatings3);
                context.MovieUserRatings.Add(movieUserRatings4);
                context.MovieUserRatings.Add(movieUserRatings5);

                movieFellowshipOfTheRing.AverageRating = (decimal)(movieUserRatings1.Rating + movieUserRatings2.Rating + movieUserRatings3.Rating + movieUserRatings4.Rating + movieUserRatings5.Rating) / 5M;

                context.Movies.Add(movieFellowshipOfTheRing);

                var movieAnUnexpectedJourney = new Movie
                {
                    Title         = "The Hobbit: An Unexpected Journey",
                    YearOfRelease = 2012,
                    RunningTime   = 169
                };

                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieAnUnexpectedJourney,
                    Genre = genreAdventure
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieAnUnexpectedJourney,
                    Genre = genreDrama
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieAnUnexpectedJourney,
                    Genre = genreFantasy
                });

                movieUserRatings1 = new MovieUserRating
                {
                    Movie  = movieAnUnexpectedJourney,
                    User   = user1,
                    Rating = 5
                };
                movieUserRatings2 = new MovieUserRating
                {
                    Movie  = movieAnUnexpectedJourney,
                    User   = user2,
                    Rating = 4
                };
                movieUserRatings3 = new MovieUserRating
                {
                    Movie  = movieAnUnexpectedJourney,
                    User   = user3,
                    Rating = 3
                };
                movieUserRatings4 = new MovieUserRating
                {
                    Movie  = movieAnUnexpectedJourney,
                    User   = user4,
                    Rating = 4
                };
                movieUserRatings5 = new MovieUserRating
                {
                    Movie  = movieAnUnexpectedJourney,
                    User   = user5,
                    Rating = 5
                };
                context.MovieUserRatings.Add(movieUserRatings1);
                context.MovieUserRatings.Add(movieUserRatings2);
                context.MovieUserRatings.Add(movieUserRatings3);
                context.MovieUserRatings.Add(movieUserRatings4);
                context.MovieUserRatings.Add(movieUserRatings5);

                movieAnUnexpectedJourney.AverageRating = (decimal)(movieUserRatings1.Rating + movieUserRatings2.Rating + movieUserRatings3.Rating + movieUserRatings4.Rating + movieUserRatings5.Rating) / 5M;

                context.Movies.Add(movieAnUnexpectedJourney);

                var movieTheTwoTowers = new Movie
                {
                    Title         = "The Lord of the Rings: The Two Towers",
                    YearOfRelease = 2002,
                    RunningTime   = 179
                };

                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieTheTwoTowers,
                    Genre = genreAdventure
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieTheTwoTowers,
                    Genre = genreDrama
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieTheTwoTowers,
                    Genre = genreFantasy
                });

                movieUserRatings1 = new MovieUserRating
                {
                    Movie  = movieTheTwoTowers,
                    User   = user1,
                    Rating = 4
                };
                movieUserRatings2 = new MovieUserRating
                {
                    Movie  = movieTheTwoTowers,
                    User   = user2,
                    Rating = 3
                };
                movieUserRatings3 = new MovieUserRating
                {
                    Movie  = movieTheTwoTowers,
                    User   = user3,
                    Rating = 5
                };
                movieUserRatings4 = new MovieUserRating
                {
                    Movie  = movieTheTwoTowers,
                    User   = user4,
                    Rating = 3
                };
                movieUserRatings5 = new MovieUserRating
                {
                    Movie  = movieTheTwoTowers,
                    User   = user5,
                    Rating = 3
                };
                context.MovieUserRatings.Add(movieUserRatings1);
                context.MovieUserRatings.Add(movieUserRatings2);
                context.MovieUserRatings.Add(movieUserRatings3);
                context.MovieUserRatings.Add(movieUserRatings4);
                context.MovieUserRatings.Add(movieUserRatings5);

                movieTheTwoTowers.AverageRating = (decimal)(movieUserRatings1.Rating + movieUserRatings2.Rating + movieUserRatings3.Rating + movieUserRatings4.Rating + movieUserRatings5.Rating) / 5M;

                context.Movies.Add(movieTheTwoTowers);

                var movieMarleyAndMe = new Movie
                {
                    Title         = "Marley & Me",
                    YearOfRelease = 2008,
                    RunningTime   = 115
                };

                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieMarleyAndMe,
                    Genre = genreComedy
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieMarleyAndMe,
                    Genre = genreDrama
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieMarleyAndMe,
                    Genre = genreFamily
                });

                movieUserRatings1 = new MovieUserRating
                {
                    Movie  = movieMarleyAndMe,
                    User   = user1,
                    Rating = 5
                };
                movieUserRatings2 = new MovieUserRating
                {
                    Movie  = movieMarleyAndMe,
                    User   = user2,
                    Rating = 4
                };
                movieUserRatings3 = new MovieUserRating
                {
                    Movie  = movieMarleyAndMe,
                    User   = user3,
                    Rating = 2
                };
                movieUserRatings4 = new MovieUserRating
                {
                    Movie  = movieMarleyAndMe,
                    User   = user4,
                    Rating = 4
                };
                movieUserRatings5 = new MovieUserRating
                {
                    Movie  = movieMarleyAndMe,
                    User   = user5,
                    Rating = 5
                };
                context.MovieUserRatings.Add(movieUserRatings1);
                context.MovieUserRatings.Add(movieUserRatings2);
                context.MovieUserRatings.Add(movieUserRatings3);
                context.MovieUserRatings.Add(movieUserRatings4);
                context.MovieUserRatings.Add(movieUserRatings5);

                movieMarleyAndMe.AverageRating = (decimal)(movieUserRatings1.Rating + movieUserRatings2.Rating + movieUserRatings3.Rating + movieUserRatings4.Rating + movieUserRatings5.Rating) / 5M;

                context.Movies.Add(movieMarleyAndMe);

                var movieReturnOfTheKing = new Movie
                {
                    Title         = "The Lord of the Rings: The Return of the King",
                    YearOfRelease = 2003,
                    RunningTime   = 201
                };

                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieReturnOfTheKing,
                    Genre = genreAdventure
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieReturnOfTheKing,
                    Genre = genreDrama
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieReturnOfTheKing,
                    Genre = genreFantasy
                });

                movieUserRatings1 = new MovieUserRating
                {
                    Movie  = movieReturnOfTheKing,
                    User   = user1,
                    Rating = 5
                };
                movieUserRatings2 = new MovieUserRating
                {
                    Movie  = movieReturnOfTheKing,
                    User   = user2,
                    Rating = 4
                };
                movieUserRatings3 = new MovieUserRating
                {
                    Movie  = movieReturnOfTheKing,
                    User   = user3,
                    Rating = 2
                };
                movieUserRatings4 = new MovieUserRating
                {
                    Movie  = movieReturnOfTheKing,
                    User   = user4,
                    Rating = 4
                };
                movieUserRatings5 = new MovieUserRating
                {
                    Movie  = movieReturnOfTheKing,
                    User   = user5,
                    Rating = 5
                };
                context.MovieUserRatings.Add(movieUserRatings1);
                context.MovieUserRatings.Add(movieUserRatings2);
                context.MovieUserRatings.Add(movieUserRatings3);
                context.MovieUserRatings.Add(movieUserRatings4);
                context.MovieUserRatings.Add(movieUserRatings5);

                movieReturnOfTheKing.AverageRating = (decimal)(movieUserRatings1.Rating + movieUserRatings2.Rating + movieUserRatings3.Rating + movieUserRatings4.Rating + movieUserRatings5.Rating) / 5M;

                context.Movies.Add(movieReturnOfTheKing);

                var movieDesolationOfSmaug = new Movie
                {
                    Title         = "The Hobbit: The Desolation of Smaug",
                    YearOfRelease = 2013,
                    RunningTime   = 161
                };

                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieDesolationOfSmaug,
                    Genre = genreAdventure
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieDesolationOfSmaug,
                    Genre = genreDrama
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieDesolationOfSmaug,
                    Genre = genreFantasy
                });

                movieUserRatings1 = new MovieUserRating
                {
                    Movie  = movieDesolationOfSmaug,
                    User   = user1,
                    Rating = 5
                };
                movieUserRatings2 = new MovieUserRating
                {
                    Movie  = movieDesolationOfSmaug,
                    User   = user2,
                    Rating = 4
                };
                movieUserRatings3 = new MovieUserRating
                {
                    Movie  = movieDesolationOfSmaug,
                    User   = user3,
                    Rating = 2
                };
                movieUserRatings4 = new MovieUserRating
                {
                    Movie  = movieDesolationOfSmaug,
                    User   = user4,
                    Rating = 4
                };
                movieUserRatings5 = new MovieUserRating
                {
                    Movie  = movieDesolationOfSmaug,
                    User   = user5,
                    Rating = 5
                };
                context.MovieUserRatings.Add(movieUserRatings1);
                context.MovieUserRatings.Add(movieUserRatings2);
                context.MovieUserRatings.Add(movieUserRatings3);
                context.MovieUserRatings.Add(movieUserRatings4);
                context.MovieUserRatings.Add(movieUserRatings5);

                movieDesolationOfSmaug.AverageRating = (decimal)(movieUserRatings1.Rating + movieUserRatings2.Rating + movieUserRatings3.Rating + movieUserRatings4.Rating + movieUserRatings5.Rating) / 5M;

                context.Movies.Add(movieDesolationOfSmaug);

                var movieBattleOfTheFiveArmies = new Movie
                {
                    Title         = "The Hobbit: The Battle of the Five Armies",
                    YearOfRelease = 2014,
                    RunningTime   = 144
                };

                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieBattleOfTheFiveArmies,
                    Genre = genreAdventure
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieBattleOfTheFiveArmies,
                    Genre = genreDrama
                });
                context.MovieGenres.Add(new MovieGenre
                {
                    Movie = movieBattleOfTheFiveArmies,
                    Genre = genreFantasy
                });

                movieUserRatings1 = new MovieUserRating
                {
                    Movie  = movieBattleOfTheFiveArmies,
                    User   = user1,
                    Rating = 5
                };
                movieUserRatings2 = new MovieUserRating
                {
                    Movie  = movieBattleOfTheFiveArmies,
                    User   = user2,
                    Rating = 4
                };
                movieUserRatings3 = new MovieUserRating
                {
                    Movie  = movieBattleOfTheFiveArmies,
                    User   = user3,
                    Rating = 2
                };
                movieUserRatings4 = new MovieUserRating
                {
                    Movie  = movieBattleOfTheFiveArmies,
                    User   = user4,
                    Rating = 4
                };
                movieUserRatings5 = new MovieUserRating
                {
                    Movie  = movieBattleOfTheFiveArmies,
                    User   = user5,
                    Rating = 5
                };
                context.MovieUserRatings.Add(movieUserRatings1);
                context.MovieUserRatings.Add(movieUserRatings2);
                context.MovieUserRatings.Add(movieUserRatings3);
                context.MovieUserRatings.Add(movieUserRatings4);
                context.MovieUserRatings.Add(movieUserRatings5);

                movieBattleOfTheFiveArmies.AverageRating = (decimal)(movieUserRatings1.Rating + movieUserRatings2.Rating + movieUserRatings3.Rating + movieUserRatings4.Rating + movieUserRatings5.Rating) / 5M;

                context.Movies.Add(movieBattleOfTheFiveArmies);

                context.SaveChanges();
            }
        }