コード例 #1
0
        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.");
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
 public EfRepository(TraineesPaymentSystemDbContext context)
 {
     this.Context = context ?? throw new ArgumentNullException(nameof(context));
     this.DbSet   = context.Set <TEntity>();
 }