public async Task SeedAsync(MyFamilyDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext == null) { throw new ArgumentNullException(nameof(dbContext)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } var logger = serviceProvider.GetService <ILoggerFactory>().CreateLogger(typeof(MyFamilyDbContextSeeder)); var seeders = new List <ISeeder> { new PersonSeeder(), new FamilyMemberSeeder(), //new RolesSeeder(), //new SettingsSeeder(), }; foreach (var seeder in seeders) { await seeder.SeedAsync(dbContext, serviceProvider); await dbContext.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
public async Task SeedAsync(MyFamilyDbContext dbContext, IServiceProvider serviceProvider) { var ivan = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Иван"); var fedia = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Федя"); var ivaylo = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Ивайло"); var miroslav = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Мирослав"); var irina = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Ирина"); var peter = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Петър"); var ivanka = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Иванка"); var yavor = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Явор"); var kalin = await dbContext.FamilyTreeNodes.FirstOrDefaultAsync(n => n.FirstName == "Калин"); ivan.Spouse = fedia; fedia.Spouse = ivan; peter.Spouse = ivanka; ivanka.Spouse = peter; FamilyTreeParent ivosParents = new FamilyTreeParent { Mother = fedia, Father = ivan, }; ivaylo.FamilyTreeParent = ivosParents; ivaylo.Spouse = irina; FamilyTreeParent irinasParents = new FamilyTreeParent { Mother = ivanka, Father = peter, }; irina.FamilyTreeParent = irinasParents; irina.Spouse = ivaylo; FamilyTreeParent yavorsParents = new FamilyTreeParent { Mother = irina, Father = ivaylo, }; yavor.FamilyTreeParent = yavorsParents; FamilyTreeParent kalinsParents = new FamilyTreeParent { Mother = irina, Father = ivaylo, }; kalin.FamilyTreeParent = kalinsParents; }
public async Task GetCountShouldReturnCorrectNumberUsingDbContext() { var options = new DbContextOptionsBuilder <MyFamilyDbContext>() .UseInMemoryDatabase(databaseName: "SettingsTestDb").Options; var dbContext = new MyFamilyDbContext(options); // dbContext.Settings.Add(new Setting()); // dbContext.Settings.Add(new Setting()); dbContext.Settings.Add(new Setting()); await dbContext.SaveChangesAsync(); var repository = new EfDeletableEntityRepository <Setting>(dbContext); var service = new SettingsService(repository); Assert.Equal(3, service.GetCount()); }
public EfRepository(MyFamilyDbContext context) { this.Context = context ?? throw new ArgumentNullException(nameof(context)); this.DbSet = this.Context.Set <TEntity>(); }
public async Task SeedAsync(MyFamilyDbContext dbContext, IServiceProvider serviceProvider) { var roleManager = serviceProvider.GetRequiredService <RoleManager <ApplicationRole> >(); await SeedRoleAsync(roleManager, GlobalConstants.AdministratorRoleName); }
public EfDeletableEntityRepository(MyFamilyDbContext context) : base(context) { }
public async Task SeedAsync(MyFamilyDbContext dbContext, IServiceProvider serviceProvider) { if (!dbContext.FamilyTreeNodes.Any()) { await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Иван", MiddleName = "Маринов", LastName = "Иванов", DayOfBirth = new DateTime(1948, 05, 14), PlaceOfBirth = "Плевен", DayOfDeath = new DateTime(2008, 04, 26), PlaceOfDeath = "София", School = "Техникум", Work = "СТОЛИЧНА ДИРЕКЦИЯ ПОЖАРНА БЕЗОПАСНОСТ И ЗАЩИТА НА НАСЕЛЕНИЕТО", Status = PersonStatus.Death, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Федя", MiddleName = "Генова", MaidenName = "Цанова", LastName = "Маринова", DayOfBirth = new DateTime(1952, 12, 18), PlaceOfBirth = "София", School = "Лесотехнически Университет", Work = "Българска Академия на Науките", Status = PersonStatus.Alive, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Петър", MiddleName = "Иванов", LastName = "Григоров", DayOfBirth = new DateTime(1958, 12, 01), PlaceOfBirth = "с. Белотинци", DayOfDeath = new DateTime(2017, 03, 26), PlaceOfDeath = "Италия", School = "Техникум", Work = "Строител", Status = PersonStatus.Death, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Иванка", MiddleName = "Благоева", MaidenName = "Вачева", LastName = "Григорова", DayOfBirth = new DateTime(1959, 10, 26), PlaceOfBirth = "Монтана", School = "СУ", Work = "Блогър", Status = PersonStatus.Alive, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Ивайло", MiddleName = "Иванов", LastName = "Маринов", DayOfBirth = new DateTime(1980, 02, 22), PlaceOfBirth = "Плевен", School = "УАСГ", Work = "Бизон Дизайн ООД", Status = PersonStatus.Alive, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Ирина", MiddleName = "Петрова", MaidenName = "Григорова", LastName = "Маринова", DayOfBirth = new DateTime(1982, 07, 11), PlaceOfBirth = "София", School = "Софтуерен Университет", Work = "Experian Bulgaria EAD", Status = PersonStatus.Alive, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Явор", MiddleName = "Ивайлов", LastName = "Маринов", DayOfBirth = new DateTime(2013, 09, 07), PlaceOfBirth = "София", School = "141 ДГ", Status = PersonStatus.Alive, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Калин", MiddleName = "Ивайлов", LastName = "Маринов", DayOfBirth = new DateTime(2018, 05, 12), PlaceOfBirth = "София", Status = PersonStatus.Alive, }); await dbContext.FamilyTreeNodes.AddAsync(new FamilyTreeNode { FirstName = "Мирослав", MiddleName = "Иванов", LastName = "Маринов", DayOfBirth = new DateTime(1989, 12, 07), PlaceOfBirth = "София", School = "Нов Български Университет", Work = "HR", Status = PersonStatus.Alive, }); } }