Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
HIAST-Clinics
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
almohanad.hafez
HIAST-Clinics
Commits
9a3357d0
Commit
9a3357d0
authored
Aug 15, 2024
by
Almouhannad
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add (Add_Entities) migration
parent
8791ccbe
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
2579 additions
and
1 deletion
+2579
-1
ClinicsDbContext.cs
Clinics.Backend/Persistence/Context/ClinicsDbContext.cs
+1
-1
20240815195732_Add_Entities.Designer.cs
...stence/Migrations/20240815195732_Add_Entities.Designer.cs
+934
-0
20240815195732_Add_Entities.cs
...end/Persistence/Migrations/20240815195732_Add_Entities.cs
+739
-0
ClinicsDbContextModelSnapshot.cs
...d/Persistence/Migrations/ClinicsDbContextModelSnapshot.cs
+905
-0
No files found.
Clinics.Backend/Persistence/Context/ClinicsDbContext.cs
View file @
9a3357d0
...
...
@@ -12,6 +12,6 @@ public partial class ClinicsDbContext : DbContext
protected
override
void
OnModelCreating
(
ModelBuilder
modelBuilder
)
{
//
modelBuilder.ApplyConfigurationsFromAssembly(typeof(ClinicsDbContext).Assembly);
modelBuilder
.
ApplyConfigurationsFromAssembly
(
typeof
(
ClinicsDbContext
).
Assembly
);
}
}
Clinics.Backend/Persistence/Migrations/20240815195732_Add_Entities.Designer.cs
0 → 100644
View file @
9a3357d0
// <auto-generated />
using
System
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore.Infrastructure
;
using
Microsoft.EntityFrameworkCore.Metadata
;
using
Microsoft.EntityFrameworkCore.Migrations
;
using
Microsoft.EntityFrameworkCore.Storage.ValueConversion
;
using
Persistence.Context
;
#
nullable
disable
namespace
Persistence.Migrations
{
[
DbContext
(
typeof
(
ClinicsDbContext
))]
[
Migration
(
"20240815195732_Add_Entities"
)]
partial
class
Add_Entities
{
/// <inheritdoc />
protected
override
void
BuildTargetModel
(
ModelBuilder
modelBuilder
)
{
#pragma warning disable 612, 618
modelBuilder
.
HasAnnotation
(
"ProductVersion"
,
"8.0.8"
)
.
HasAnnotation
(
"Relational:MaxIdentifierLength"
,
128
);
SqlServerModelBuilderExtensions
.
UseIdentityColumns
(
modelBuilder
);
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Diseases.Disease"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Disease"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Hospitals.Hospital"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Hospital"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.MedicalImages.MedicalImage"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Description"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicalImage"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.MedicalTests.MedicalTest"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Description"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicalTest"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
decimal
>(
"Dosage"
)
.
HasColumnType
(
"numeric(9, 3)"
);
b
.
Property
<
int
>(
"MedicineFormId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineFormId"
);
b
.
ToTable
(
"Medicine"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.MedicineFormValues.MedicineForm"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicineForm"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Doctor"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"PersonalInfoId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"StatusId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"PersonalInfoId"
)
.
IsUnique
();
b
.
HasIndex
(
"StatusId"
);
b
.
ToTable
(
"Doctor"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Shared.Constants.DoctorStatusValues.DoctorStatus"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"DoctorStatus"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Shared.DoctorPhone"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
?>(
"DoctorId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"Phone"
)
.
IsRequired
()
.
HasMaxLength
(
20
)
.
HasColumnType
(
"nvarchar(20)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DoctorId"
);
b
.
HasIndex
(
"Phone"
)
.
IsUnique
();
b
.
ToTable
(
"DoctorPhone"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Employee"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
b
.
Property
<
int
?>(
"AdditionalInfoId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"CenterStatus"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
bool
>(
"IsMarried"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
string
>(
"SerialNumber"
)
.
IsRequired
()
.
HasMaxLength
(
20
)
.
HasColumnType
(
"nvarchar(20)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"AdditionalInfoId"
)
.
IsUnique
()
.
HasFilter
(
"[AdditionalInfoId] IS NOT NULL"
);
b
.
ToTable
(
"Employee"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.EmployeeFamilyMember"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"EmployeeId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"FamilyMemberId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"RoleId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"EmployeeId"
);
b
.
HasIndex
(
"FamilyMemberId"
);
b
.
HasIndex
(
"RoleId"
);
b
.
ToTable
(
"EmployeeFamilyMember"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.FamilyRoleValues.FamilyRole"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"FamilyRole"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Shared.EmployeeAdditionalInfo"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"AcademicQualification"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"ImageUrl"
)
.
HasMaxLength
(
150
)
.
HasColumnType
(
"nvarchar(150)"
);
b
.
Property
<
string
>(
"JobStatus"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"Location"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"Specialization"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
DateOnly
?>(
"StartDate"
)
.
HasColumnType
(
"date"
);
b
.
Property
<
string
>(
"WorkPhone"
)
.
HasMaxLength
(
20
)
.
HasColumnType
(
"nvarchar(20)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"EmployeeAdditionalInfo"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"FamilyMember"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Patient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
DateOnly
>(
"DateOfBirth"
)
.
HasColumnType
(
"date"
);
b
.
Property
<
int
>(
"GenderId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PersonalInfoId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"GenderId"
);
b
.
HasIndex
(
"PersonalInfoId"
)
.
IsUnique
();
b
.
ToTable
(
"Patient"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientDiseases.PatientDisease"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"DiseaseId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DiseaseId"
);
b
.
HasIndex
(
"PatientId"
,
"DiseaseId"
)
.
IsUnique
();
b
.
ToTable
(
"PatientDisease"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientMedicines.PatientMedicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"Number"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
HasIndex
(
"PatientId"
,
"MedicineId"
)
.
IsUnique
();
b
.
ToTable
(
"PatientMedicine"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Shared.GenderValues.Gender"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Gender"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Shared.PersonalInfo"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"FirstName"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"LastName"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"MiddleName"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"PersonalInfo"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalImages.VisitMedicalImage"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicalImageId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Result"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
int
>(
"VisitId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicalImageId"
);
b
.
HasIndex
(
"VisitId"
,
"MedicalImageId"
)
.
IsUnique
();
b
.
ToTable
(
"VisitMedicalImage"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalTests.VisitMedicalTest"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicalTestId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Result"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
int
>(
"VisitId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicalTestId"
);
b
.
HasIndex
(
"VisitId"
,
"MedicalTestId"
)
.
IsUnique
();
b
.
ToTable
(
"VisitMedicalTest"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicines.VisitMedicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"Number"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"VisitId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
HasIndex
(
"VisitId"
,
"MedicineId"
)
.
IsUnique
();
b
.
ToTable
(
"VisitMedicine"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Visit"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
DateOnly
>(
"Date"
)
.
HasColumnType
(
"date"
);
b
.
Property
<
string
>(
"Diagnosis"
)
.
IsRequired
()
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
int
>(
"DoctorId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
?>(
"HospitalId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DoctorId"
);
b
.
HasIndex
(
"HospitalId"
);
b
.
HasIndex
(
"PatientId"
);
b
.
ToTable
(
"Visit"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.WaitingList.WaitingListRecord"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
?>(
"DoctorId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"IsServed"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DoctorId"
);
b
.
HasIndex
(
"PatientId"
);
b
.
ToTable
(
"WaitingListRecord"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"EmployeeEmployee"
,
b
=>
{
b
.
Property
<
int
>(
"RelatedEmployeesId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"RelatedToId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"RelatedEmployeesId"
,
"RelatedToId"
);
b
.
HasIndex
(
"RelatedToId"
);
b
.
ToTable
(
"EmployeeEmployee"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Medicines.MedicineFormValues.MedicineForm"
,
"MedicineForm"
)
.
WithMany
()
.
HasForeignKey
(
"MedicineFormId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"MedicineForm"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Doctor"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Shared.PersonalInfo"
,
"PersonalInfo"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Doctors.Doctor"
,
"PersonalInfoId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Doctors.Shared.Constants.DoctorStatusValues.DoctorStatus"
,
"Status"
)
.
WithMany
()
.
HasForeignKey
(
"StatusId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"PersonalInfo"
);
b
.
Navigation
(
"Status"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Shared.DoctorPhone"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Doctors.Doctor"
,
null
)
.
WithMany
(
"Phones"
)
.
HasForeignKey
(
"DoctorId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Employee"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Employees.Shared.EmployeeAdditionalInfo"
,
"AdditionalInfo"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Employees.Employee"
,
"AdditionalInfoId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Employees.Employee"
,
"Id"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"AdditionalInfo"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.EmployeeFamilyMember"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Employees.Employee"
,
"Employee"
)
.
WithMany
(
"FamilyMembers"
)
.
HasForeignKey
(
"EmployeeId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
"FamilyMember"
)
.
WithMany
()
.
HasForeignKey
(
"FamilyMemberId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.FamilyRoleValues.FamilyRole"
,
"Role"
)
.
WithMany
()
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Employee"
);
b
.
Navigation
(
"FamilyMember"
);
b
.
Navigation
(
"Role"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
"Id"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Patient"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Shared.GenderValues.Gender"
,
"Gender"
)
.
WithMany
()
.
HasForeignKey
(
"GenderId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Shared.PersonalInfo"
,
"PersonalInfo"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Patients.Patient"
,
"PersonalInfoId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Gender"
);
b
.
Navigation
(
"PersonalInfo"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientDiseases.PatientDisease"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Diseases.Disease"
,
"Disease"
)
.
WithMany
(
"Patients"
)
.
HasForeignKey
(
"DiseaseId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
(
"Diseases"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Disease"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientMedicines.PatientMedicine"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
"Medicine"
)
.
WithMany
(
"Patients"
)
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Medicine"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalImages.VisitMedicalImage"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.MedicalImages.MedicalImage"
,
"MedicalImage"
)
.
WithMany
()
.
HasForeignKey
(
"MedicalImageId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Visits.Visit"
,
"Visit"
)
.
WithMany
(
"MedicalImages"
)
.
HasForeignKey
(
"VisitId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"MedicalImage"
);
b
.
Navigation
(
"Visit"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalTests.VisitMedicalTest"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.MedicalTests.MedicalTest"
,
"MedicalTest"
)
.
WithMany
()
.
HasForeignKey
(
"MedicalTestId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Visits.Visit"
,
"Visit"
)
.
WithMany
(
"MedicalTests"
)
.
HasForeignKey
(
"VisitId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"MedicalTest"
);
b
.
Navigation
(
"Visit"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicines.VisitMedicine"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
"Medicine"
)
.
WithMany
()
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Visits.Visit"
,
"Visit"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"VisitId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Medicine"
);
b
.
Navigation
(
"Visit"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Visit"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Doctors.Doctor"
,
"Doctor"
)
.
WithMany
()
.
HasForeignKey
(
"DoctorId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Medicals.Hospitals.Hospital"
,
"Hospital"
)
.
WithMany
()
.
HasForeignKey
(
"HospitalId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
(
"Visits"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Doctor"
);
b
.
Navigation
(
"Hospital"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.WaitingList.WaitingListRecord"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Doctors.Doctor"
,
"Doctor"
)
.
WithMany
()
.
HasForeignKey
(
"DoctorId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
()
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Doctor"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"EmployeeEmployee"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Employees.Employee"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RelatedEmployeesId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Employees.Employee"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RelatedToId"
)
.
OnDelete
(
DeleteBehavior
.
ClientCascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Diseases.Disease"
,
b
=>
{
b
.
Navigation
(
"Patients"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
b
=>
{
b
.
Navigation
(
"Patients"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Doctor"
,
b
=>
{
b
.
Navigation
(
"Phones"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Employee"
,
b
=>
{
b
.
Navigation
(
"FamilyMembers"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Patient"
,
b
=>
{
b
.
Navigation
(
"Diseases"
);
b
.
Navigation
(
"Medicines"
);
b
.
Navigation
(
"Visits"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Visit"
,
b
=>
{
b
.
Navigation
(
"MedicalImages"
);
b
.
Navigation
(
"MedicalTests"
);
b
.
Navigation
(
"Medicines"
);
});
#pragma warning restore 612, 618
}
}
}
Clinics.Backend/Persistence/Migrations/20240815195732_Add_Entities.cs
0 → 100644
View file @
9a3357d0
using
System
;
using
Microsoft.EntityFrameworkCore.Migrations
;
#
nullable
disable
namespace
Persistence.Migrations
{
/// <inheritdoc />
public
partial
class
Add_Entities
:
Migration
{
/// <inheritdoc />
protected
override
void
Up
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
CreateTable
(
name
:
"Disease"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Disease"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"DoctorStatus"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_DoctorStatus"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"EmployeeAdditionalInfo"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
StartDate
=
table
.
Column
<
DateOnly
>(
type
:
"date"
,
nullable
:
true
),
AcademicQualification
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
true
),
WorkPhone
=
table
.
Column
<
string
>(
type
:
"nvarchar(20)"
,
maxLength
:
20
,
nullable
:
true
),
Location
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
true
),
Specialization
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
true
),
JobStatus
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
true
),
ImageUrl
=
table
.
Column
<
string
>(
type
:
"nvarchar(150)"
,
maxLength
:
150
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_EmployeeAdditionalInfo"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"FamilyRole"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_FamilyRole"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"Gender"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Gender"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"Hospital"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Hospital"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"MedicalImage"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
),
Description
=
table
.
Column
<
string
>(
type
:
"nvarchar(250)"
,
maxLength
:
250
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_MedicalImage"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"MedicalTest"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
),
Description
=
table
.
Column
<
string
>(
type
:
"nvarchar(250)"
,
maxLength
:
250
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_MedicalTest"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"MedicineForm"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_MedicineForm"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"PersonalInfo"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
FirstName
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
),
MiddleName
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
),
LastName
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_PersonalInfo"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"Medicine"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
MedicineFormId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
false
),
Dosage
=
table
.
Column
<
decimal
>(
type
:
"numeric(9,3)"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Medicine"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_Medicine_MedicineForm_MedicineFormId"
,
column
:
x
=>
x
.
MedicineFormId
,
principalTable
:
"MedicineForm"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"Doctor"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
PersonalInfoId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
StatusId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Doctor"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_Doctor_DoctorStatus_StatusId"
,
column
:
x
=>
x
.
StatusId
,
principalTable
:
"DoctorStatus"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_Doctor_PersonalInfo_PersonalInfoId"
,
column
:
x
=>
x
.
PersonalInfoId
,
principalTable
:
"PersonalInfo"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"Patient"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
PersonalInfoId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
DateOfBirth
=
table
.
Column
<
DateOnly
>(
type
:
"date"
,
nullable
:
false
),
GenderId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Patient"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_Patient_Gender_GenderId"
,
column
:
x
=>
x
.
GenderId
,
principalTable
:
"Gender"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_Patient_PersonalInfo_PersonalInfoId"
,
column
:
x
=>
x
.
PersonalInfoId
,
principalTable
:
"PersonalInfo"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"DoctorPhone"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
true
),
Phone
=
table
.
Column
<
string
>(
type
:
"nvarchar(20)"
,
maxLength
:
20
,
nullable
:
false
),
DoctorId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_DoctorPhone"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_DoctorPhone_Doctor_DoctorId"
,
column
:
x
=>
x
.
DoctorId
,
principalTable
:
"Doctor"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"Employee"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
AdditionalInfoId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
true
),
SerialNumber
=
table
.
Column
<
string
>(
type
:
"nvarchar(20)"
,
maxLength
:
20
,
nullable
:
false
),
CenterStatus
=
table
.
Column
<
string
>(
type
:
"nvarchar(50)"
,
maxLength
:
50
,
nullable
:
false
),
IsMarried
=
table
.
Column
<
bool
>(
type
:
"bit"
,
nullable
:
false
,
defaultValue
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Employee"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_Employee_EmployeeAdditionalInfo_AdditionalInfoId"
,
column
:
x
=>
x
.
AdditionalInfoId
,
principalTable
:
"EmployeeAdditionalInfo"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_Employee_Patient_Id"
,
column
:
x
=>
x
.
Id
,
principalTable
:
"Patient"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"FamilyMember"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_FamilyMember"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_FamilyMember_Patient_Id"
,
column
:
x
=>
x
.
Id
,
principalTable
:
"Patient"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"PatientDisease"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
PatientId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
DiseaseId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_PatientDisease"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_PatientDisease_Disease_DiseaseId"
,
column
:
x
=>
x
.
DiseaseId
,
principalTable
:
"Disease"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_PatientDisease_Patient_PatientId"
,
column
:
x
=>
x
.
PatientId
,
principalTable
:
"Patient"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"PatientMedicine"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
PatientId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
MedicineId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Number
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_PatientMedicine"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_PatientMedicine_Medicine_MedicineId"
,
column
:
x
=>
x
.
MedicineId
,
principalTable
:
"Medicine"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_PatientMedicine_Patient_PatientId"
,
column
:
x
=>
x
.
PatientId
,
principalTable
:
"Patient"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"Visit"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
PatientId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
DoctorId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
HospitalId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
true
),
Date
=
table
.
Column
<
DateOnly
>(
type
:
"date"
,
nullable
:
false
),
Diagnosis
=
table
.
Column
<
string
>(
type
:
"nvarchar(250)"
,
maxLength
:
250
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Visit"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_Visit_Doctor_DoctorId"
,
column
:
x
=>
x
.
DoctorId
,
principalTable
:
"Doctor"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_Visit_Hospital_HospitalId"
,
column
:
x
=>
x
.
HospitalId
,
principalTable
:
"Hospital"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_Visit_Patient_PatientId"
,
column
:
x
=>
x
.
PatientId
,
principalTable
:
"Patient"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"WaitingListRecord"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
PatientId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
DoctorId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
true
),
IsServed
=
table
.
Column
<
bool
>(
type
:
"bit"
,
nullable
:
false
,
defaultValue
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_WaitingListRecord"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_WaitingListRecord_Doctor_DoctorId"
,
column
:
x
=>
x
.
DoctorId
,
principalTable
:
"Doctor"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_WaitingListRecord_Patient_PatientId"
,
column
:
x
=>
x
.
PatientId
,
principalTable
:
"Patient"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"EmployeeEmployee"
,
columns
:
table
=>
new
{
RelatedEmployeesId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
RelatedToId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_EmployeeEmployee"
,
x
=>
new
{
x
.
RelatedEmployeesId
,
x
.
RelatedToId
});
table
.
ForeignKey
(
name
:
"FK_EmployeeEmployee_Employee_RelatedEmployeesId"
,
column
:
x
=>
x
.
RelatedEmployeesId
,
principalTable
:
"Employee"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
table
.
ForeignKey
(
name
:
"FK_EmployeeEmployee_Employee_RelatedToId"
,
column
:
x
=>
x
.
RelatedToId
,
principalTable
:
"Employee"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"EmployeeFamilyMember"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
EmployeeId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
FamilyMemberId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
RoleId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_EmployeeFamilyMember"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_EmployeeFamilyMember_Employee_EmployeeId"
,
column
:
x
=>
x
.
EmployeeId
,
principalTable
:
"Employee"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_EmployeeFamilyMember_FamilyMember_FamilyMemberId"
,
column
:
x
=>
x
.
FamilyMemberId
,
principalTable
:
"FamilyMember"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_EmployeeFamilyMember_FamilyRole_RoleId"
,
column
:
x
=>
x
.
RoleId
,
principalTable
:
"FamilyRole"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"VisitMedicalImage"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
VisitId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
MedicalImageId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Result
=
table
.
Column
<
string
>(
type
:
"nvarchar(250)"
,
maxLength
:
250
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_VisitMedicalImage"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_VisitMedicalImage_MedicalImage_MedicalImageId"
,
column
:
x
=>
x
.
MedicalImageId
,
principalTable
:
"MedicalImage"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_VisitMedicalImage_Visit_VisitId"
,
column
:
x
=>
x
.
VisitId
,
principalTable
:
"Visit"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"VisitMedicalTest"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
VisitId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
MedicalTestId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Result
=
table
.
Column
<
string
>(
type
:
"nvarchar(250)"
,
maxLength
:
250
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_VisitMedicalTest"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_VisitMedicalTest_MedicalTest_MedicalTestId"
,
column
:
x
=>
x
.
MedicalTestId
,
principalTable
:
"MedicalTest"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_VisitMedicalTest_Visit_VisitId"
,
column
:
x
=>
x
.
VisitId
,
principalTable
:
"Visit"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateTable
(
name
:
"VisitMedicine"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
VisitId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
MedicineId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Number
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_VisitMedicine"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_VisitMedicine_Medicine_MedicineId"
,
column
:
x
=>
x
.
MedicineId
,
principalTable
:
"Medicine"
,
principalColumn
:
"Id"
);
table
.
ForeignKey
(
name
:
"FK_VisitMedicine_Visit_VisitId"
,
column
:
x
=>
x
.
VisitId
,
principalTable
:
"Visit"
,
principalColumn
:
"Id"
);
});
migrationBuilder
.
CreateIndex
(
name
:
"IX_Doctor_PersonalInfoId"
,
table
:
"Doctor"
,
column
:
"PersonalInfoId"
,
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Doctor_StatusId"
,
table
:
"Doctor"
,
column
:
"StatusId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_DoctorPhone_DoctorId"
,
table
:
"DoctorPhone"
,
column
:
"DoctorId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_DoctorPhone_Phone"
,
table
:
"DoctorPhone"
,
column
:
"Phone"
,
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Employee_AdditionalInfoId"
,
table
:
"Employee"
,
column
:
"AdditionalInfoId"
,
unique
:
true
,
filter
:
"[AdditionalInfoId] IS NOT NULL"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_EmployeeEmployee_RelatedToId"
,
table
:
"EmployeeEmployee"
,
column
:
"RelatedToId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_EmployeeFamilyMember_EmployeeId"
,
table
:
"EmployeeFamilyMember"
,
column
:
"EmployeeId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_EmployeeFamilyMember_FamilyMemberId"
,
table
:
"EmployeeFamilyMember"
,
column
:
"FamilyMemberId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_EmployeeFamilyMember_RoleId"
,
table
:
"EmployeeFamilyMember"
,
column
:
"RoleId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Medicine_MedicineFormId"
,
table
:
"Medicine"
,
column
:
"MedicineFormId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Patient_GenderId"
,
table
:
"Patient"
,
column
:
"GenderId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Patient_PersonalInfoId"
,
table
:
"Patient"
,
column
:
"PersonalInfoId"
,
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PatientDisease_DiseaseId"
,
table
:
"PatientDisease"
,
column
:
"DiseaseId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PatientDisease_PatientId_DiseaseId"
,
table
:
"PatientDisease"
,
columns
:
new
[]
{
"PatientId"
,
"DiseaseId"
},
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PatientMedicine_MedicineId"
,
table
:
"PatientMedicine"
,
column
:
"MedicineId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PatientMedicine_PatientId_MedicineId"
,
table
:
"PatientMedicine"
,
columns
:
new
[]
{
"PatientId"
,
"MedicineId"
},
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Visit_DoctorId"
,
table
:
"Visit"
,
column
:
"DoctorId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Visit_HospitalId"
,
table
:
"Visit"
,
column
:
"HospitalId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Visit_PatientId"
,
table
:
"Visit"
,
column
:
"PatientId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_VisitMedicalImage_MedicalImageId"
,
table
:
"VisitMedicalImage"
,
column
:
"MedicalImageId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_VisitMedicalImage_VisitId_MedicalImageId"
,
table
:
"VisitMedicalImage"
,
columns
:
new
[]
{
"VisitId"
,
"MedicalImageId"
},
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_VisitMedicalTest_MedicalTestId"
,
table
:
"VisitMedicalTest"
,
column
:
"MedicalTestId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_VisitMedicalTest_VisitId_MedicalTestId"
,
table
:
"VisitMedicalTest"
,
columns
:
new
[]
{
"VisitId"
,
"MedicalTestId"
},
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_VisitMedicine_MedicineId"
,
table
:
"VisitMedicine"
,
column
:
"MedicineId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_VisitMedicine_VisitId_MedicineId"
,
table
:
"VisitMedicine"
,
columns
:
new
[]
{
"VisitId"
,
"MedicineId"
},
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_WaitingListRecord_DoctorId"
,
table
:
"WaitingListRecord"
,
column
:
"DoctorId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_WaitingListRecord_PatientId"
,
table
:
"WaitingListRecord"
,
column
:
"PatientId"
);
}
/// <inheritdoc />
protected
override
void
Down
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropTable
(
name
:
"DoctorPhone"
);
migrationBuilder
.
DropTable
(
name
:
"EmployeeEmployee"
);
migrationBuilder
.
DropTable
(
name
:
"EmployeeFamilyMember"
);
migrationBuilder
.
DropTable
(
name
:
"PatientDisease"
);
migrationBuilder
.
DropTable
(
name
:
"PatientMedicine"
);
migrationBuilder
.
DropTable
(
name
:
"VisitMedicalImage"
);
migrationBuilder
.
DropTable
(
name
:
"VisitMedicalTest"
);
migrationBuilder
.
DropTable
(
name
:
"VisitMedicine"
);
migrationBuilder
.
DropTable
(
name
:
"WaitingListRecord"
);
migrationBuilder
.
DropTable
(
name
:
"Employee"
);
migrationBuilder
.
DropTable
(
name
:
"FamilyMember"
);
migrationBuilder
.
DropTable
(
name
:
"FamilyRole"
);
migrationBuilder
.
DropTable
(
name
:
"Disease"
);
migrationBuilder
.
DropTable
(
name
:
"MedicalImage"
);
migrationBuilder
.
DropTable
(
name
:
"MedicalTest"
);
migrationBuilder
.
DropTable
(
name
:
"Medicine"
);
migrationBuilder
.
DropTable
(
name
:
"Visit"
);
migrationBuilder
.
DropTable
(
name
:
"EmployeeAdditionalInfo"
);
migrationBuilder
.
DropTable
(
name
:
"MedicineForm"
);
migrationBuilder
.
DropTable
(
name
:
"Doctor"
);
migrationBuilder
.
DropTable
(
name
:
"Hospital"
);
migrationBuilder
.
DropTable
(
name
:
"Patient"
);
migrationBuilder
.
DropTable
(
name
:
"DoctorStatus"
);
migrationBuilder
.
DropTable
(
name
:
"Gender"
);
migrationBuilder
.
DropTable
(
name
:
"PersonalInfo"
);
}
}
}
Clinics.Backend/Persistence/Migrations/ClinicsDbContextModelSnapshot.cs
View file @
9a3357d0
// <auto-generated />
using
System
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore.Infrastructure
;
using
Microsoft.EntityFrameworkCore.Metadata
;
...
...
@@ -20,6 +21,910 @@ namespace Persistence.Migrations
.
HasAnnotation
(
"Relational:MaxIdentifierLength"
,
128
);
SqlServerModelBuilderExtensions
.
UseIdentityColumns
(
modelBuilder
);
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Diseases.Disease"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Disease"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Hospitals.Hospital"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Hospital"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.MedicalImages.MedicalImage"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Description"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicalImage"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.MedicalTests.MedicalTest"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"Description"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicalTest"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
decimal
>(
"Dosage"
)
.
HasColumnType
(
"numeric(9, 3)"
);
b
.
Property
<
int
>(
"MedicineFormId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineFormId"
);
b
.
ToTable
(
"Medicine"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.MedicineFormValues.MedicineForm"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicineForm"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Doctor"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"PersonalInfoId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"StatusId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"PersonalInfoId"
)
.
IsUnique
();
b
.
HasIndex
(
"StatusId"
);
b
.
ToTable
(
"Doctor"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Shared.Constants.DoctorStatusValues.DoctorStatus"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"DoctorStatus"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Shared.DoctorPhone"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
?>(
"DoctorId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"Phone"
)
.
IsRequired
()
.
HasMaxLength
(
20
)
.
HasColumnType
(
"nvarchar(20)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DoctorId"
);
b
.
HasIndex
(
"Phone"
)
.
IsUnique
();
b
.
ToTable
(
"DoctorPhone"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Employee"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
b
.
Property
<
int
?>(
"AdditionalInfoId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"CenterStatus"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
bool
>(
"IsMarried"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
string
>(
"SerialNumber"
)
.
IsRequired
()
.
HasMaxLength
(
20
)
.
HasColumnType
(
"nvarchar(20)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"AdditionalInfoId"
)
.
IsUnique
()
.
HasFilter
(
"[AdditionalInfoId] IS NOT NULL"
);
b
.
ToTable
(
"Employee"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.EmployeeFamilyMember"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"EmployeeId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"FamilyMemberId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"RoleId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"EmployeeId"
);
b
.
HasIndex
(
"FamilyMemberId"
);
b
.
HasIndex
(
"RoleId"
);
b
.
ToTable
(
"EmployeeFamilyMember"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.FamilyRoleValues.FamilyRole"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"FamilyRole"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Shared.EmployeeAdditionalInfo"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"AcademicQualification"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"ImageUrl"
)
.
HasMaxLength
(
150
)
.
HasColumnType
(
"nvarchar(150)"
);
b
.
Property
<
string
>(
"JobStatus"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"Location"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"Specialization"
)
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
DateOnly
?>(
"StartDate"
)
.
HasColumnType
(
"date"
);
b
.
Property
<
string
>(
"WorkPhone"
)
.
HasMaxLength
(
20
)
.
HasColumnType
(
"nvarchar(20)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"EmployeeAdditionalInfo"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"FamilyMember"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Patient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
DateOnly
>(
"DateOfBirth"
)
.
HasColumnType
(
"date"
);
b
.
Property
<
int
>(
"GenderId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PersonalInfoId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"GenderId"
);
b
.
HasIndex
(
"PersonalInfoId"
)
.
IsUnique
();
b
.
ToTable
(
"Patient"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientDiseases.PatientDisease"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"DiseaseId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DiseaseId"
);
b
.
HasIndex
(
"PatientId"
,
"DiseaseId"
)
.
IsUnique
();
b
.
ToTable
(
"PatientDisease"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientMedicines.PatientMedicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"Number"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
HasIndex
(
"PatientId"
,
"MedicineId"
)
.
IsUnique
();
b
.
ToTable
(
"PatientMedicine"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Shared.GenderValues.Gender"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Gender"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Shared.PersonalInfo"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
string
>(
"FirstName"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"LastName"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
Property
<
string
>(
"MiddleName"
)
.
IsRequired
()
.
HasMaxLength
(
50
)
.
HasColumnType
(
"nvarchar(50)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"PersonalInfo"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalImages.VisitMedicalImage"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicalImageId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Result"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
int
>(
"VisitId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicalImageId"
);
b
.
HasIndex
(
"VisitId"
,
"MedicalImageId"
)
.
IsUnique
();
b
.
ToTable
(
"VisitMedicalImage"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalTests.VisitMedicalTest"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicalTestId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Result"
)
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
int
>(
"VisitId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicalTestId"
);
b
.
HasIndex
(
"VisitId"
,
"MedicalTestId"
)
.
IsUnique
();
b
.
ToTable
(
"VisitMedicalTest"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicines.VisitMedicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"Number"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"VisitId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
HasIndex
(
"VisitId"
,
"MedicineId"
)
.
IsUnique
();
b
.
ToTable
(
"VisitMedicine"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Visit"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
DateOnly
>(
"Date"
)
.
HasColumnType
(
"date"
);
b
.
Property
<
string
>(
"Diagnosis"
)
.
IsRequired
()
.
HasMaxLength
(
250
)
.
HasColumnType
(
"nvarchar(250)"
);
b
.
Property
<
int
>(
"DoctorId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
?>(
"HospitalId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DoctorId"
);
b
.
HasIndex
(
"HospitalId"
);
b
.
HasIndex
(
"PatientId"
);
b
.
ToTable
(
"Visit"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"Domain.Entities.WaitingList.WaitingListRecord"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
);
SqlServerPropertyBuilderExtensions
.
UseIdentityColumn
(
b
.
Property
<
int
>(
"Id"
));
b
.
Property
<
int
?>(
"DoctorId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
bool
>(
"IsServed"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"bit"
)
.
HasDefaultValue
(
false
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"DoctorId"
);
b
.
HasIndex
(
"PatientId"
);
b
.
ToTable
(
"WaitingListRecord"
,
(
string
)
null
);
});
modelBuilder
.
Entity
(
"EmployeeEmployee"
,
b
=>
{
b
.
Property
<
int
>(
"RelatedEmployeesId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"RelatedToId"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"RelatedEmployeesId"
,
"RelatedToId"
);
b
.
HasIndex
(
"RelatedToId"
);
b
.
ToTable
(
"EmployeeEmployee"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Medicines.MedicineFormValues.MedicineForm"
,
"MedicineForm"
)
.
WithMany
()
.
HasForeignKey
(
"MedicineFormId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"MedicineForm"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Doctor"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Shared.PersonalInfo"
,
"PersonalInfo"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Doctors.Doctor"
,
"PersonalInfoId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Doctors.Shared.Constants.DoctorStatusValues.DoctorStatus"
,
"Status"
)
.
WithMany
()
.
HasForeignKey
(
"StatusId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"PersonalInfo"
);
b
.
Navigation
(
"Status"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Shared.DoctorPhone"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Doctors.Doctor"
,
null
)
.
WithMany
(
"Phones"
)
.
HasForeignKey
(
"DoctorId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Employee"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Employees.Shared.EmployeeAdditionalInfo"
,
"AdditionalInfo"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Employees.Employee"
,
"AdditionalInfoId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Employees.Employee"
,
"Id"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"AdditionalInfo"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.EmployeeFamilyMember"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Employees.Employee"
,
"Employee"
)
.
WithMany
(
"FamilyMembers"
)
.
HasForeignKey
(
"EmployeeId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
"FamilyMember"
)
.
WithMany
()
.
HasForeignKey
(
"FamilyMemberId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Employees.Relations.EmployeeFamilyMembers.FamilyRoleValues.FamilyRole"
,
"Role"
)
.
WithMany
()
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Employee"
);
b
.
Navigation
(
"FamilyMember"
);
b
.
Navigation
(
"Role"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.FamilyMembers.FamilyMember"
,
"Id"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Patient"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Shared.GenderValues.Gender"
,
"Gender"
)
.
WithMany
()
.
HasForeignKey
(
"GenderId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Shared.PersonalInfo"
,
"PersonalInfo"
)
.
WithOne
()
.
HasForeignKey
(
"Domain.Entities.People.Patients.Patient"
,
"PersonalInfoId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Gender"
);
b
.
Navigation
(
"PersonalInfo"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientDiseases.PatientDisease"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Diseases.Disease"
,
"Disease"
)
.
WithMany
(
"Patients"
)
.
HasForeignKey
(
"DiseaseId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
(
"Diseases"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Disease"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Relations.PatientMedicines.PatientMedicine"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
"Medicine"
)
.
WithMany
(
"Patients"
)
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Medicine"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalImages.VisitMedicalImage"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.MedicalImages.MedicalImage"
,
"MedicalImage"
)
.
WithMany
()
.
HasForeignKey
(
"MedicalImageId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Visits.Visit"
,
"Visit"
)
.
WithMany
(
"MedicalImages"
)
.
HasForeignKey
(
"VisitId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"MedicalImage"
);
b
.
Navigation
(
"Visit"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicalTests.VisitMedicalTest"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.MedicalTests.MedicalTest"
,
"MedicalTest"
)
.
WithMany
()
.
HasForeignKey
(
"MedicalTestId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Visits.Visit"
,
"Visit"
)
.
WithMany
(
"MedicalTests"
)
.
HasForeignKey
(
"VisitId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"MedicalTest"
);
b
.
Navigation
(
"Visit"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Relations.VisitMedicines.VisitMedicine"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
"Medicine"
)
.
WithMany
()
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Visits.Visit"
,
"Visit"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"VisitId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Medicine"
);
b
.
Navigation
(
"Visit"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Visit"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Doctors.Doctor"
,
"Doctor"
)
.
WithMany
()
.
HasForeignKey
(
"DoctorId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.Medicals.Hospitals.Hospital"
,
"Hospital"
)
.
WithMany
()
.
HasForeignKey
(
"HospitalId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
(
"Visits"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Doctor"
);
b
.
Navigation
(
"Hospital"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.WaitingList.WaitingListRecord"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Doctors.Doctor"
,
"Doctor"
)
.
WithMany
()
.
HasForeignKey
(
"DoctorId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
);
b
.
HasOne
(
"Domain.Entities.People.Patients.Patient"
,
"Patient"
)
.
WithMany
()
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
NoAction
)
.
IsRequired
();
b
.
Navigation
(
"Doctor"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"EmployeeEmployee"
,
b
=>
{
b
.
HasOne
(
"Domain.Entities.People.Employees.Employee"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RelatedEmployeesId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"Domain.Entities.People.Employees.Employee"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RelatedToId"
)
.
OnDelete
(
DeleteBehavior
.
ClientCascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Diseases.Disease"
,
b
=>
{
b
.
Navigation
(
"Patients"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Medicals.Medicines.Medicine"
,
b
=>
{
b
.
Navigation
(
"Patients"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Doctors.Doctor"
,
b
=>
{
b
.
Navigation
(
"Phones"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Employees.Employee"
,
b
=>
{
b
.
Navigation
(
"FamilyMembers"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.People.Patients.Patient"
,
b
=>
{
b
.
Navigation
(
"Diseases"
);
b
.
Navigation
(
"Medicines"
);
b
.
Navigation
(
"Visits"
);
});
modelBuilder
.
Entity
(
"Domain.Entities.Visits.Visit"
,
b
=>
{
b
.
Navigation
(
"MedicalImages"
);
b
.
Navigation
(
"MedicalTests"
);
b
.
Navigation
(
"Medicines"
);
});
#pragma warning restore 612, 618
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment