public FakeInstemDbContext(string name) { var options = new DbContextOptionsBuilder <InstemDbContext>() .UseInMemoryDatabase(name) .Options; Data = new InstemDbContext(options); }
public CarouselService(InstemDbContext dbContext, IMapper mapper) { _dbContext = dbContext; _mapper = mapper; }
public InfoService(InstemDbContext dbContext, IMapper mapper) { _dbContext = dbContext; _mapper = mapper; }
private static void LoadData(InstemDbContext db) { if (db.Genres.Any()) { return; } var myJsonString = File.ReadAllText("./Db/moviedata.json"); var myJsonObject = JsonConvert.DeserializeObject <List <RootObject> >(myJsonString); var directors = myJsonObject.Where(x => x.info.directors != null) .SelectMany(x => x.info.directors.Select(z => z)) .ToHashSet() .Select(z => new Director { Name = z }) .ToList(); var genres = myJsonObject.Where(x => x.info.genres != null) .SelectMany(x => x.info.genres.Select(z => z)) .ToHashSet() .Select(x => new Genre { GenreType = x }) .ToList(); var actors = myJsonObject.Where(x => x.info.actors != null) .SelectMany(x => x.info.actors.Select(x => x)) .ToHashSet() .Select(z => new Actor { Name = z }) .ToList(); db.Directors.AddRange(directors); db.Genres.AddRange(genres); db.Actors.AddRange(actors); db.SaveChanges(); var movies = myJsonObject.Select(movie => new Movie { Title = movie.title, Year = movie.year, MovieInfo = new MovieInfo { ImageUrl = movie.info.image_url, Plot = movie.info.plot, Rank = movie.info.rank, Rating = movie.info.rating, ReleaseDate = movie.info.release_date, RunningTimeSecs = movie.info.running_time_secs, MovieInfoGenres = genres.Where(x => movie.info.genres != null && movie.info.genres.Contains(x.GenreType)) .Select(x => new MovieInfoGenre { GenreId = x.Id }) .ToList(), MovieInfoActors = actors.Where(x => movie.info.actors != null && movie.info.actors.Contains(x.Name)) .Select(x => new MovieInfoActor { ActorId = x.Id }) .ToList(), MovieInfoDirectors = directors.Where(x => movie.info.directors != null && movie.info.directors.Contains(x.Name)) .Select(x => new MovieInfoDirector { DirectorId = x.Id }) .ToList() } }) .ToList(); db.Movies.AddRange(movies); db.SaveChanges(); }