Example #1
0
        /// <summary>
        /// Adds some default values to the Database
        /// </summary>
        public void SeedData()
        {
            using var scope = _scopeFactory.CreateScope();
            var dbInitializer     = scope.ServiceProvider.GetRequiredService <DbInitializerService>();
            var createAdminResult = dbInitializer.CreateAdminUserAsync().Result;

            if (createAdminResult == (null, IdentityResult.Failed()))
            {
                throw new InvalidOperationException(createAdminResult.Item2.DumpErrors());
            }

            using var db = scope.ServiceProvider.GetRequiredService <BehlogContext>();
            if (!db.Roles.Any())
            {
                db.Add(new Role(Consts.Role_Admin));
                db.SaveChanges();
            }

            var adminUser       = createAdminResult.Item1;
            var defaultLanguage = _languageSvc
                                  .CreateDefaultLanguagesAndReturnDefaultLanguageAsync()
                                  .Result;

            dbInitializer.CreateDefaultWebsite(
                db,
                adminUser,
                defaultLanguage.Adapt <Language>()
                );
        }