2023-03-13 12:29:56 +07:00
|
|
|
|
using BMA.EHR.Recruit.Service.Models.Documents;
|
|
|
|
|
|
using BMA.EHR.Recruit.Service.Models.Recruits;
|
|
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
|
|
|
|
|
|
|
namespace BMA.EHR.Recruit.Service.Data
|
|
|
|
|
|
{
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public class ApplicationDbContext : DbContext
|
|
|
|
|
|
{
|
|
|
|
|
|
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
|
|
|
|
|
|
: base(options)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
|
|
|
|
{
|
|
|
|
|
|
// recruit relation setup
|
|
|
|
|
|
modelBuilder.Entity<RecruitImport>().HasMany(x => x.Recruits).WithOne(x => x.RecruitImport).OnDelete(DeleteBehavior.Cascade);
|
|
|
|
|
|
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Educations).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
|
|
|
|
|
|
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Occupations).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
|
|
|
|
|
|
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Addresses).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
|
|
|
|
|
|
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Certificates).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
|
|
|
|
|
|
modelBuilder.Entity<Models.Recruits.Recruit>().HasMany(x => x.Payments).WithOne(x => x.Recruit).OnDelete(DeleteBehavior.Cascade);
|
|
|
|
|
|
}
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<Document> Documents { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitImport> RecruitImports { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<Models.Recruits.Recruit> Recruits { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitAddress> RecruitAddresses { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitOccupation> RecruitOccupations { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitCertificate> RecruitCertificates { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitEducation> RecruitEducations { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<ScoreImport> ScoreImports { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitScore> RecruitScores { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitPayment> RecruitPayments { get; set; }
|
2023-03-13 12:29:56 +07:00
|
|
|
|
|
2023-04-11 12:53:25 +07:00
|
|
|
|
public DbSet<RecruitDocument> RecruitDocuments { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DbSet<RecruitImportHistory> RecruitImportHistories { get; set; }
|
2023-05-02 22:59:01 +07:00
|
|
|
|
|
|
|
|
|
|
public DbSet<RecruitImportDocument> RecruitImportDocuments { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DbSet<RecruitImportImage> RecruitImportImages { get; set; }
|
2023-04-11 12:53:25 +07:00
|
|
|
|
}
|
2023-03-13 12:29:56 +07:00
|
|
|
|
}
|