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); } } }