public async Task SeedAsync(TraineesPaymentSystemDbContext context, IServiceProvider serviceProvider) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } var logger = serviceProvider.GetService <ILoggerFactory>() .CreateLogger(typeof(TraineesPaymentSystemDbContextSeeder)); var seeders = new List <ISeeder> { new TaskTypesSeeder(), new RolesSeeder() }; foreach (var seeder in seeders) { await seeder.SeedAsync(context, serviceProvider); await context.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
public async Task SeedAsync(TraineesPaymentSystemDbContext context, IServiceProvider serviceProvider) { var taskTypes = SeedingConstants.TaskTypes; foreach (var type in taskTypes) { await this.SeedTaskTypeAsync(context, type.Key, type.Value); } }
public async Task SeedAsync(TraineesPaymentSystemDbContext context, IServiceProvider serviceProvider) { var roleManager = serviceProvider.GetRequiredService <RoleManager <TraineesPaymentSystemRole> >(); await this.SeedRoleAsync(roleManager, SeedingConstants.RoleUser); await this.SeedRoleAsync(roleManager, SeedingConstants.RoleModerator); await this.SeedRoleAsync(roleManager, SeedingConstants.RoleAdministration); }
private async Task SeedTaskTypeAsync(TraineesPaymentSystemDbContext context, string name, decimal price) { var type = await context.TaskTypes.SingleOrDefaultAsync(t => t.Name == name); if (type == null) { type = new TaskType { Name = name, PricePerHour = price }; await context.TaskTypes.AddAsync(type); } }
public EfRepository(TraineesPaymentSystemDbContext context) { this.Context = context ?? throw new ArgumentNullException(nameof(context)); this.DbSet = context.Set <TEntity>(); }