public async Task SeedAsync(LolBoostingDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext == null)
            {
                throw new ArgumentNullException(nameof(dbContext));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            var logger = serviceProvider.GetRequiredService <ILoggerFactory>().CreateLogger(typeof(LolBoostingDbContext));

            var seeders = new List <ISeeder>
            {
                new RolesSeeder(),
                new UsersSeeder(),
                new TierRateSeeder()
            };

            foreach (var seeder in seeders)
            {
                await seeder.SeedAsync(dbContext, serviceProvider);

                await dbContext.SaveChangesAsync();

                logger.LogInformation($"Seeder {seeder.GetType().Name} done.");
            }
        }
        public async Task SeedAsync(LolBoostingDbContext dbContext, IServiceProvider serviceProvider)
        {
            var tierRatesToAdd = _tierRates.Where(z => dbContext.TierRates.Find(z.Value.TierRateId) == null).ToDictionary(z => z.Key, z => z.Value);

            dbContext.AddRange(tierRatesToAdd.Values);

            await dbContext.SaveChangesAsync();
        }