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;
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
 public EfRepository(MyFamilyDbContext context)
 {
     this.Context = context ?? throw new ArgumentNullException(nameof(context));
     this.DbSet   = this.Context.Set <TEntity>();
 }
Esempio n. 5
0
        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)
 {
 }
Esempio n. 7
0
        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,
                });
            }
        }