Example #1
0
        private static async Task<TrackTvDbContext> CreateContext()
        {
            var configurator = new DbContextConfigurator();

            var context = new TrackTvDbContext(configurator.GetOptions());

            await context.Database.MigrateAsync();

            configurator.AttachLogger<SqlLoggerProvider>(context);

            return context;
        }
        protected static TrackTvDbContext CreateContext()
        {
            var serviceProvider = new ServiceCollection().AddEntityFrameworkInMemoryDatabase().BuildServiceProvider();

            var builder = new DbContextOptionsBuilder<TrackTvDbContext>();
            builder.UseInMemoryDatabase().UseInternalServiceProvider(serviceProvider);

            var context = new TrackTvDbContext(builder.Options);
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            return context;
        }
        private static async Task SeedGenresAsync(TrackTvDbContext context, IEnumerable<Network> networks = null)
        {
            if (networks == null)
            {
                networks = new[]
                {
                    new Network("abc"),
                    new Network("cbs"),
                    new Network("bbc")
                };
            }

            context.Networks.AddRange(networks);
            await context.SaveChangesAsync();
        }
        private static async Task SeedGenresAsync(TrackTvDbContext context, IEnumerable<Genre> genres = null)
        {
            if (genres == null)
            {
                genres = new[]
                {
                    new Genre("action"),
                    new Genre("drama"),
                    new Genre("comedy"),
                    new Genre("crime"),
                    new Genre("aventure")
                };
            }

            context.Genres.AddRange(genres);
            await context.SaveChangesAsync();
        }
Example #5
0
 public Fetcher(
     TrackTvDbContext context,
     ITvDbClient client,
     IEpisodeFetcher episodeFetcher,
     IActorFetcher actorFetcher,
     IGenreFetcher genreFetcher,
     IShowFetcher showFetcher,
     IShowsRepository showsRepository,
     IEpisodeRepository episodeRepository)
 {
     this.Context = context;
     this.Client = client;
     this.EpisodeFetcher = episodeFetcher;
     this.ActorFetcher = actorFetcher;
     this.GenreFetcher = genreFetcher;
     this.ShowFetcher = showFetcher;
     this.ShowsRepository = showsRepository;
     this.EpisodeRepository = episodeRepository;
 }
        private static async Task SeedActorsAsync(TrackTvDbContext context, IEnumerable<Actor> actors = null)
        {
            if (actors == null)
            {
                var list = new List<Actor>();

                for (int i = 1; i <= 10; i++)
                {
                    list.Add(new Actor
                    {
                        TheTvDbId = i
                    });
                }

                actors = list;
            }

            context.Actors.AddRange(actors);
            await context.SaveChangesAsync();
        }
        private static async Task SeedEpisodesAsync(TrackTvDbContext context, IEnumerable<Episode> episodes = null)
        {
            if (episodes == null)
            {
                var list = new List<Episode>();

                for (int i = 1; i <= 10; i++)
                {
                    list.Add(new Episode
                    {
                        Id = i,
                        TheTvDbId = i * 10,
                        ShowId = i * 100
                    });
                }

                episodes = list;
            }

            context.Episodes.AddRange(episodes);
            await context.SaveChangesAsync();
        }
        private static async Task SeedGenresAsync(TrackTvDbContext context, IEnumerable<Show> shows = null)
        {
            if (shows == null)
            {
                var network = new Network("bbc");
                var genre = new Genre("action");
                var user = new User
                {
                    Username = "******"
                };
                var actor = new Actor
                {
                    Name = "Cat"
                };

                shows = new[]
                {
                    CreateShow("Show1", 1000, network, genre, actor, user),
                    CreateShow("Show2", 1001, network, genre, actor, user),
                    CreateShow("Show3", 1002, network, genre, actor, user),
                    CreateShow("Show4", 1003, network, genre, actor, user),
                    CreateShow("Show5", 1004, network, genre, actor, user)
                };
            }

            context.Shows.AddRange(shows);
            await context.SaveChangesAsync();
        }