57 lines
1.9 KiB
C#
57 lines
1.9 KiB
C#
using IRaCIS.Core.Domain.Models;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
using System.Reflection.Emit;
|
|
|
|
|
|
namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
|
|
{
|
|
public class VisitTaskConfigration : IEntityTypeConfiguration<VisitTask>
|
|
{
|
|
|
|
|
|
public void Configure(EntityTypeBuilder<VisitTask> builder)
|
|
{
|
|
|
|
builder.HasMany(t => t.JudgeVisitList).WithOne(t => t.JudgeVisitTask);
|
|
|
|
builder.HasMany(t => t.TaskMedicalReviewList).WithOne(t => t.VisitTask).HasForeignKey(t => t.VisitTaskId);
|
|
|
|
builder.HasOne(t => t.Subject).WithMany(s => s.SubjectVisitTaskList).HasForeignKey(t => t.SubjectId);
|
|
|
|
builder.HasMany(t => t.TaskInfluenceList).WithOne(s => s.OriginalTask).HasForeignKey(t => t.OriginalTaskId);
|
|
|
|
builder.HasMany(t => t.GlobalVisitResultList).WithOne(s => s.GlobalVisitTask).HasForeignKey(t => t.GlobalTaskId);
|
|
|
|
builder.HasQueryFilter(b => b.Subject.IsDeleted == false);
|
|
|
|
}
|
|
}
|
|
public class ReadingQuestionTrialConfigration : IEntityTypeConfiguration<ReadingQuestionTrial>
|
|
{
|
|
public void Configure(EntityTypeBuilder<ReadingQuestionTrial> builder)
|
|
{
|
|
|
|
builder.HasQueryFilter(p => p.IsAdditional == false);
|
|
|
|
}
|
|
}
|
|
|
|
public class SubjectUserConfigration : IEntityTypeConfiguration<SubjectUser>
|
|
{
|
|
public void Configure(EntityTypeBuilder<SubjectUser> builder)
|
|
{
|
|
builder.HasMany(t => t.EarlierSubjectUserList).WithOne(t => t.OrignalSubjectUser);
|
|
}
|
|
}
|
|
public class UserConfigration : IEntityTypeConfiguration<User>
|
|
{
|
|
public void Configure(EntityTypeBuilder<User> builder)
|
|
{
|
|
builder.HasMany(t => t.VisitTaskList).WithOne(t => t.DoctorUser).HasForeignKey(t => t.DoctorUserId).IsRequired(false);
|
|
}
|
|
}
|
|
|
|
|
|
}
|