Пример #1
0
        public async Task <string> CreateMovie(string title, DateTime releaseDate, string imageUrl, IEnumerable <string> genresIds, string description, string country = null, int?runtime = null, string trailerUrl = null)
        {
            var movie = new Movie
            {
                Id          = Guid.NewGuid().ToString(),
                Title       = title,
                ReleaseDate = releaseDate,
                ReleaseYear = releaseDate.Year.ToString(),
                ImageUrl    = imageUrl,
                Description = description,
                Country     = country,
                Runtime     = runtime,
                TrailerUrl  = trailerUrl,
            };

            await this.moviesRepository.AddAsync(movie);

            await this.moviesRepository.SaveChangesAsync();

            foreach (var genreId in genresIds)
            {
                var genreMovie = new GenresMovie
                {
                    MovieId = movie.Id,
                    GenreId = genreId,
                };
                await this.genresMovieRepository.AddAsync(genreMovie);
            }

            await this.genresMovieRepository.SaveChangesAsync();

            return(movie.Id);
        }
        public async Task SeedAsync(ApplicationDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (!dbContext.GenresMovies.Any())
            {
                var movies = dbContext.Movies.Select(x => x.Id).ToList();
                var genres = dbContext.Genres.Select(x => x.Id).ToList();
                Random rng = new Random();

                foreach (var movieId in movies)
                {
                    int num = rng.Next(0, genres.Count);

                    var genreMovie = new GenresMovie
                    {
                        GenreId = genres[num],
                        MovieId = movieId,
                    };

                    await dbContext.GenresMovies.AddAsync(genreMovie);
                }
            }
        }