Example #1
0
        public static void Main(string[] args)
        {
            var host         = BuildWebHost(args);
            var scopeFactory = host.Services;

            try
            {
                var repo    = host.Services.GetRequiredService <IRepository>();
                var manager = new SeedDataManager(repo);
                manager.Seed();
            }
            catch (System.Exception e)
            {
                throw e;
            }

            host.Run();
        }
Example #2
0
        public static void Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;

                // var config = host.Services.GetRequiredService<IConfiguration>();
                var testUserPw = "Super123@"; // config["SeedUserPW"]; // dotnet user-secrets set SeedUserPW <pw>

                try
                {
                    SeedDataManager.Initialize(services, testUserPw)
                    .Wait();     //add an initial admin account to the db on startup, also add Editor role
                }
                catch (Exception ex)
                {
                    Console.Write("An error occurred while seeding the database.");
                }
            }
            host.Run();
        }
Example #3
0
        protected override void OnModelCreating(ModelBuilder builder)
        {
            builder.Entity <TextAnswer>();
            builder.Entity <PictureAnswer>();
            builder.Entity <RegionAnswer>();
            //builder.Entity<Quiz>()
            //    .HasOne(q => q.Course)
            //    .WithMany(c => c.Quizzes);
            //.OnDelete(DeleteBehavior.SetNull);
            builder.Entity <Course>()
            .HasMany(c => c.Quizzes)
            .WithOne(q => q.Course)
            .OnDelete(DeleteBehavior.Cascade);
            builder.Entity <onCours>()
            .HasOne(x => x.User)
            .WithMany(s => s.OnCours).OnDelete(DeleteBehavior.Cascade);
            builder.Entity <onCours>()
            .HasOne(x => x.Course)
            .WithMany(c => c.Users).OnDelete(DeleteBehavior.Cascade);
            builder.Entity <Answer>()
            .HasOne(a => a.Question)
            .WithMany(q => q.Answers)
            .OnDelete(DeleteBehavior.Cascade);
            builder.Entity <Question>()
            .HasOne(q => q.Quiz)
            .WithMany(quiz => quiz.Questions)
            .OnDelete(DeleteBehavior.Cascade);

            builder.Entity <Course>()
            .HasMany(c => c.Comments)
            .WithOne(x => x.Course)
            .OnDelete(DeleteBehavior.Cascade);
            builder.Entity <Comment>()
            .HasOne(q => q.ApplicationUser);
            builder.Entity <Comment>()
            .HasOne(q => q.Course)
            .WithMany(c => c.Comments)
            .OnDelete(DeleteBehavior.Cascade);

            builder.Entity <Competition>()
            .HasOne(x => x.Quiz)
            .WithMany()
            .OnDelete(DeleteBehavior.SetNull);
            builder.Entity <Competition>()
            .HasMany(x => x.Participations)
            .WithOne(p => p.Competition)
            .OnDelete(DeleteBehavior.SetNull);
            builder.Entity <Participation>()
            .HasOne(x => x.User)
            .WithMany()
            .OnDelete(DeleteBehavior.SetNull);
            builder.Entity <Participation>()
            .HasOne(x => x.Competition)
            .WithMany(c => c.Participations)
            .OnDelete(DeleteBehavior.SetNull);
            //seed Data
            builder.Entity <IdentityRole>()
            .HasData(
                SeedDataManager.getRoleSeedData()
                );
            builder.Entity <Course>()
            .HasData(
                SeedDataManager.getCoursSeedData()
                );
            base.OnModelCreating(builder);
            // Customize the ASP.NET Identity model and override the defaults if needed.
            // For example, you can rename the ASP.NET Identity table names and more.
            // Add your customizations after calling base.OnModelCreating(builder);
        }