Пример #1
0
        public FakeInstemDbContext(string name)
        {
            var options = new DbContextOptionsBuilder <InstemDbContext>()
                          .UseInMemoryDatabase(name)
                          .Options;

            Data = new InstemDbContext(options);
        }
Пример #2
0
 public CarouselService(InstemDbContext dbContext, IMapper mapper)
 {
     _dbContext = dbContext;
     _mapper    = mapper;
 }
Пример #3
0
 public InfoService(InstemDbContext dbContext, IMapper mapper)
 {
     _dbContext = dbContext;
     _mapper    = mapper;
 }
Пример #4
0
        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();
        }