コード例 #1
0
        public static IApplicationBuilder UseDatabaseMigration(this IApplicationBuilder app)
        {
            using (var serviceScope = app
                                      .ApplicationServices
                                      .GetRequiredService <IServiceScopeFactory>()
                                      .CreateScope())
            {
                var context = serviceScope
                              .ServiceProvider
                              .GetService <LearningSystemDbContext>();
                context.Database.Migrate();

                var seederService = new SeederService(context, serviceScope);
                Task.Run(async() =>
                {
                    await seederService.RolesAsync();
                    await seederService.UsersAsync();
                    await seederService.CoursesAsync();
                    await seederService.UsersInCourses();
                    await seederService.ArticlesAsync();
                }).Wait();
            }

            return(app);
        }
コード例 #2
0
        public IHttpActionResult ClearDatabase()
        {
            var svc = new SeederService();

            if (!svc.ClearDatabase())
            {
                return(InternalServerError());
            }
            return(Ok("Database contents successfully cleared."));
        }
コード例 #3
0
 public SeedDatabaseCommand(AppOptions options, string database,
                            string profilePath, int count, bool dry, bool history)
 {
     _config            = options.Configuration;
     _repositoryService = new RepositoryService(_config);
     _seederService     = new SeederService();
     _database          = database
                          ?? throw new ArgumentNullException(nameof(database));
     _profilePath = profilePath
                    ?? throw new ArgumentNullException(nameof(profilePath));
     _count   = count;
     _dry     = dry;
     _history = history;
 }
コード例 #4
0
        private async Task SeedUser()
        {
            Console.WriteLine("Veritabanı kontrol ediliyor...");
            var user = await _userManager.FindByEmailAsync("*****@*****.**");

            if (user == null)
            {
                if (!identityContext.Cinsiyetler.Any())
                {
                    await SeederService.VeriEkle <KisiCinsiyet>(identityContext, "Cinsiyetler", Path.Combine(_hosting.ContentRootPath, "Seeds", "Veriler", "cinsiyetler.json"));
                }
                if (!identityContext.MedeniHaller.Any())
                {
                    await SeederService.VeriEkle <MedeniHal>(identityContext, "Medeni Haller", Path.Combine(_hosting.ContentRootPath, "Seeds", "Veriler", "MedeniHaller.json"));
                }

                if (!identityContext.Roles.Any())
                {
                    var dosyaYolu = Path.Combine(_hosting.ContentRootPath, "Seeds", "Veriler", "roller.json");
                    if (!File.Exists(dosyaYolu))
                    {
                        return;
                    }
                    var json            = File.ReadAllText(dosyaYolu);
                    var eklenecekRoller = JsonConvert.DeserializeObject <IEnumerable <Rol> >(json);
                    if (eklenecekRoller != null)
                    {
                        foreach (var rol in eklenecekRoller)
                        {
                            var sonuc = await rolYonetici.CreateAsync(rol);
                        }
                    }
                }

                Console.WriteLine("Kullanıcı ekleniyor...");
                user = new Kullanici()
                {
                    UserName        = "******",
                    Email           = "*****@*****.**",
                    EmailConfirmed  = true,
                    YaratilmaTarihi = DateTime.Now,
                    Pasif           = false,
                    Yonetici        = true,
                };
                user.Kisi = new KullaniciKisi
                {
                    Unvan       = "Doç.Dr.",
                    Ad          = "Murat",
                    Soyad       = "Turhan",
                    CinsiyetNo  = 1,
                    MedeniHalNo = 2,
                    DogumTarihi = new DateTime(1970, 11, 15)
                };
                var result = await _userManager.CreateAsync(user, "Akd34630.");

                if (result == IdentityResult.Success)
                {
                    await _userManager.AddToRoleAsync(user, "Hoca");

                    await _userManager.AddClaimAsync(user, new Claim("Sistem Yöneticisi", "evet"));
                }
                else
                {
                    Console.WriteLine("Kullanıcı eklenirken hata oluştu!!!");
                    throw new InvalidOperationException("Failed to create default user");
                }
                Console.WriteLine("Kullanıcı eklendi...");
            }
        }