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); }
public IHttpActionResult ClearDatabase() { var svc = new SeederService(); if (!svc.ClearDatabase()) { return(InternalServerError()); } return(Ok("Database contents successfully cleared.")); }
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; }
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..."); } }