using Diligent.WebAPI.Data.Configurations; namespace Diligent.WebAPI.Data; public class DatabaseContext : IdentityDbContext { public DbSet InsuranceCompanies { get; set; } public DbSet Insurers { get; set; } public DbSet InsurancePolicies { get; set; } public DbSet WebhookSubscriptions { get; set; } public DbSet WebhookDefinitions { get; set; } public DbSet RefreshTokens { get; set; } public DbSet Ads { get; set; } public DbSet Applicants { get; set; } public DbSet Technologies { get; set; } public DbSet ApplicantTechnologies { get; set; } public DbSet Comments { get; set; } public DbSet SelectionLevels { get; set; } public DbSet SelectionProcesses { get; set; } public DbSet Patterns { get; set; } public DbSet Files { get; set; } public DbSet Categories { get; set; } public DbSet Tags { get; set; } public DbSet UserCategories { get; set; } public DatabaseContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity().HasData( new List{ new SelectionLevel{ Id = 1, Name = "HR intervju"}, new SelectionLevel{ Id = 2, Name = "Screening test"}, new SelectionLevel{ Id = 3, Name = "Tehnicki intervju"}, new SelectionLevel{ Id = 4, Name = "Konacna odluka"}, }); modelBuilder.ApplyConfiguration(new ApplicantConfiguration()); modelBuilder.ApplyConfiguration(new TechnologyConfiguration()); modelBuilder.ApplyConfiguration(new CommentConfiguration()); modelBuilder.ApplyConfiguration(new UserConfiguration()); modelBuilder.ApplyConfiguration(new AdConfiguration()); modelBuilder .Entity() .HasMany(user => user.Processes) .WithOne(process => process.Scheduler) .OnDelete(DeleteBehavior.SetNull); } }