Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
Medic
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
hasan.bahjat
Medic
Commits
25289efb
Commit
25289efb
authored
May 21, 2024
by
hasan khaddour
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add migrations
parent
a4ff3589
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1490 additions
and
0 deletions
+1490
-0
20240521151453_initAuthAndDB.Designer.cs
...cture/Migrations/20240521151453_initAuthAndDB.Designer.cs
+534
-0
20240521151453_initAuthAndDB.cs
Infrastructure/Migrations/20240521151453_initAuthAndDB.cs
+424
-0
MedicDbContextModelSnapshot.cs
Infrastructure/Migrations/MedicDbContextModelSnapshot.cs
+532
-0
No files found.
Infrastructure/Migrations/20240521151453_initAuthAndDB.Designer.cs
0 → 100644
View file @
25289efb
// <auto-generated />
using
System
;
using
Infrastructure.Data
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore.Infrastructure
;
using
Microsoft.EntityFrameworkCore.Metadata
;
using
Microsoft.EntityFrameworkCore.Migrations
;
using
Microsoft.EntityFrameworkCore.Storage.ValueConversion
;
namespace
Infrastructure.Migrations
{
[
DbContext
(
typeof
(
MedicDbContext
))]
[
Migration
(
"20240521151453_initAuthAndDB"
)]
partial
class
initAuthAndDB
{
protected
override
void
BuildTargetModel
(
ModelBuilder
modelBuilder
)
{
#pragma warning disable 612, 618
modelBuilder
.
HasAnnotation
(
"Relational:Collation"
,
"Arabic_CI_AS"
)
.
HasAnnotation
(
"Relational:MaxIdentifierLength"
,
128
)
.
HasAnnotation
(
"ProductVersion"
,
"5.0.17"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Category"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Categories"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Ingredient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Ingredients"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Medicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
int
?>(
"CategoryId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"Dosage"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
?>(
"MedicineTypeId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"Price"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"CategoryId"
);
b
.
HasIndex
(
"MedicineTypeId"
);
b
.
ToTable
(
"Medicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineIngredient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
int
>(
"IngredientId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"Ratio"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"IngredientId"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
ToTable
(
"MedicineIngredient"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineType"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"TypeName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicineTypes"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Patient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"Avatar"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"BIO"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"FirstName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"LastName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Patients"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.PatientMedicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
DateTime
>(
"PrescripDate"
)
.
HasColumnType
(
"datetime2"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
HasIndex
(
"PatientId"
);
b
.
ToTable
(
"PatientMedicine"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.User"
,
b
=>
{
b
.
Property
<
string
>(
"Id"
)
.
HasMaxLength
(
200
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
int
>(
"AccessFailedCount"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Email"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
bool
>(
"EmailConfirmed"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"LockoutEnabled"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
DateTimeOffset
?>(
"LockoutEnd"
)
.
HasColumnType
(
"datetimeoffset"
);
b
.
Property
<
string
>(
"NormalizedEmail"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
string
>(
"NormalizedUserName"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
string
>(
"PasswordHash"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"PhoneNumber"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"PhoneNumberConfirmed"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"SecurityStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"TwoFactorEnabled"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"UserName"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"NormalizedEmail"
)
.
HasDatabaseName
(
"EmailIndex"
);
b
.
HasIndex
(
"NormalizedUserName"
)
.
IsUnique
()
.
HasDatabaseName
(
"UserNameIndex"
)
.
HasFilter
(
"[NormalizedUserName] IS NOT NULL"
);
b
.
HasIndex
(
"PatientId"
)
.
IsUnique
();
b
.
ToTable
(
"AspNetUsers"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityRole"
,
b
=>
{
b
.
Property
<
string
>(
"Id"
)
.
HasMaxLength
(
200
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"Name"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
string
>(
"NormalizedName"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"NormalizedName"
)
.
IsUnique
()
.
HasDatabaseName
(
"RoleNameIndex"
)
.
HasFilter
(
"[NormalizedName] IS NOT NULL"
);
b
.
ToTable
(
"AspNetRoles"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"ClaimType"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ClaimValue"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"RoleId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"RoleId"
);
b
.
ToTable
(
"AspNetRoleClaims"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserClaim<string>"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"ClaimType"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ClaimValue"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"UserId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"UserId"
);
b
.
ToTable
(
"AspNetUserClaims"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserLogin<string>"
,
b
=>
{
b
.
Property
<
string
>(
"LoginProvider"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"ProviderKey"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"ProviderDisplayName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"UserId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"LoginProvider"
,
"ProviderKey"
);
b
.
HasIndex
(
"UserId"
);
b
.
ToTable
(
"AspNetUserLogins"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserRole<string>"
,
b
=>
{
b
.
Property
<
string
>(
"UserId"
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
string
>(
"RoleId"
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"UserId"
,
"RoleId"
);
b
.
HasIndex
(
"RoleId"
);
b
.
ToTable
(
"AspNetUserRoles"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserToken<string>"
,
b
=>
{
b
.
Property
<
string
>(
"UserId"
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
string
>(
"LoginProvider"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"Value"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"UserId"
,
"LoginProvider"
,
"Name"
);
b
.
ToTable
(
"AspNetUserTokens"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Medicine"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Category"
,
"Category"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"CategoryId"
);
b
.
HasOne
(
"ApplicationCore.Entities.MedicineType"
,
"MedicineType"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"MedicineTypeId"
);
b
.
Navigation
(
"Category"
);
b
.
Navigation
(
"MedicineType"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineIngredient"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Ingredient"
,
"Ingredient"
)
.
WithMany
(
"MedicineIngredients"
)
.
HasForeignKey
(
"IngredientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"ApplicationCore.Entities.Medicine"
,
"Medicine"
)
.
WithMany
(
"MedicineIngredients"
)
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
Navigation
(
"Ingredient"
);
b
.
Navigation
(
"Medicine"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.PatientMedicine"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Medicine"
,
"Medicine"
)
.
WithMany
(
"PatientMedicines"
)
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"ApplicationCore.Entities.Patient"
,
"Patient"
)
.
WithMany
(
"PatientMedicines"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
Navigation
(
"Medicine"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.User"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Patient"
,
"Patient"
)
.
WithOne
(
"User"
)
.
HasForeignKey
(
"ApplicationCore.Entities.User"
,
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>"
,
b
=>
{
b
.
HasOne
(
"Microsoft.AspNetCore.Identity.IdentityRole"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserClaim<string>"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserLogin<string>"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserRole<string>"
,
b
=>
{
b
.
HasOne
(
"Microsoft.AspNetCore.Identity.IdentityRole"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserToken<string>"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Category"
,
b
=>
{
b
.
Navigation
(
"Medicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Ingredient"
,
b
=>
{
b
.
Navigation
(
"MedicineIngredients"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Medicine"
,
b
=>
{
b
.
Navigation
(
"MedicineIngredients"
);
b
.
Navigation
(
"PatientMedicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineType"
,
b
=>
{
b
.
Navigation
(
"Medicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Patient"
,
b
=>
{
b
.
Navigation
(
"PatientMedicines"
);
b
.
Navigation
(
"User"
);
});
#pragma warning restore 612, 618
}
}
}
Infrastructure/Migrations/20240521151453_initAuthAndDB.cs
0 → 100644
View file @
25289efb
using
System
;
using
Microsoft.EntityFrameworkCore.Migrations
;
namespace
Infrastructure.Migrations
{
public
partial
class
initAuthAndDB
:
Migration
{
protected
override
void
Up
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
CreateTable
(
name
:
"AspNetRoles"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
maxLength
:
200
,
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(256)"
,
maxLength
:
256
,
nullable
:
true
),
NormalizedName
=
table
.
Column
<
string
>(
type
:
"nvarchar(256)"
,
maxLength
:
256
,
nullable
:
true
),
ConcurrencyStamp
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetRoles"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"Categories"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Categories"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"Ingredients"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
Description
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Ingredients"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"MedicineTypes"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
TypeName
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_MedicineTypes"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"Patients"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
FirstName
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
LastName
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
Avatar
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
BIO
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Patients"
,
x
=>
x
.
Id
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetRoleClaims"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
RoleId
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
nullable
:
false
),
ClaimType
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
ClaimValue
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetRoleClaims"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_AspNetRoleClaims_AspNetRoles_RoleId"
,
column
:
x
=>
x
.
RoleId
,
principalTable
:
"AspNetRoles"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"Medicines"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
Description
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
Price
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
Dosage
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
CategoryId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
true
),
MedicineTypeId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_Medicines"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_Medicines_Categories_CategoryId"
,
column
:
x
=>
x
.
CategoryId
,
principalTable
:
"Categories"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Restrict
);
table
.
ForeignKey
(
name
:
"FK_Medicines_MedicineTypes_MedicineTypeId"
,
column
:
x
=>
x
.
MedicineTypeId
,
principalTable
:
"MedicineTypes"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Restrict
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUsers"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
maxLength
:
200
,
nullable
:
false
),
CreationTime
=
table
.
Column
<
DateTime
>(
type
:
"datetime2"
,
nullable
:
false
),
PatientId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
UserName
=
table
.
Column
<
string
>(
type
:
"nvarchar(256)"
,
maxLength
:
256
,
nullable
:
true
),
NormalizedUserName
=
table
.
Column
<
string
>(
type
:
"nvarchar(256)"
,
maxLength
:
256
,
nullable
:
true
),
Email
=
table
.
Column
<
string
>(
type
:
"nvarchar(256)"
,
maxLength
:
256
,
nullable
:
true
),
NormalizedEmail
=
table
.
Column
<
string
>(
type
:
"nvarchar(256)"
,
maxLength
:
256
,
nullable
:
true
),
EmailConfirmed
=
table
.
Column
<
bool
>(
type
:
"bit"
,
nullable
:
false
),
PasswordHash
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
SecurityStamp
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
ConcurrencyStamp
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
PhoneNumber
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
PhoneNumberConfirmed
=
table
.
Column
<
bool
>(
type
:
"bit"
,
nullable
:
false
),
TwoFactorEnabled
=
table
.
Column
<
bool
>(
type
:
"bit"
,
nullable
:
false
),
LockoutEnd
=
table
.
Column
<
DateTimeOffset
>(
type
:
"datetimeoffset"
,
nullable
:
true
),
LockoutEnabled
=
table
.
Column
<
bool
>(
type
:
"bit"
,
nullable
:
false
),
AccessFailedCount
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUsers"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_AspNetUsers_Patients_PatientId"
,
column
:
x
=>
x
.
PatientId
,
principalTable
:
"Patients"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"MedicineIngredient"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
Ratio
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
MedicineId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
IngredientId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_MedicineIngredient"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_MedicineIngredient_Ingredients_IngredientId"
,
column
:
x
=>
x
.
IngredientId
,
principalTable
:
"Ingredients"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
table
.
ForeignKey
(
name
:
"FK_MedicineIngredient_Medicines_MedicineId"
,
column
:
x
=>
x
.
MedicineId
,
principalTable
:
"Medicines"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"PatientMedicine"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
PrescripDate
=
table
.
Column
<
DateTime
>(
type
:
"datetime2"
,
nullable
:
false
),
MedicineId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
),
PatientId
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_PatientMedicine"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_PatientMedicine_Medicines_MedicineId"
,
column
:
x
=>
x
.
MedicineId
,
principalTable
:
"Medicines"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
table
.
ForeignKey
(
name
:
"FK_PatientMedicine_Patients_PatientId"
,
column
:
x
=>
x
.
PatientId
,
principalTable
:
"Patients"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserClaims"
,
columns
:
table
=>
new
{
Id
=
table
.
Column
<
int
>(
type
:
"int"
,
nullable
:
false
)
.
Annotation
(
"SqlServer:Identity"
,
"1, 1"
),
UserId
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
nullable
:
false
),
ClaimType
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
ClaimValue
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserClaims"
,
x
=>
x
.
Id
);
table
.
ForeignKey
(
name
:
"FK_AspNetUserClaims_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserLogins"
,
columns
:
table
=>
new
{
LoginProvider
=
table
.
Column
<
string
>(
type
:
"nvarchar(450)"
,
nullable
:
false
),
ProviderKey
=
table
.
Column
<
string
>(
type
:
"nvarchar(450)"
,
nullable
:
false
),
ProviderDisplayName
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
),
UserId
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserLogins"
,
x
=>
new
{
x
.
LoginProvider
,
x
.
ProviderKey
});
table
.
ForeignKey
(
name
:
"FK_AspNetUserLogins_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserRoles"
,
columns
:
table
=>
new
{
UserId
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
nullable
:
false
),
RoleId
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
nullable
:
false
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserRoles"
,
x
=>
new
{
x
.
UserId
,
x
.
RoleId
});
table
.
ForeignKey
(
name
:
"FK_AspNetUserRoles_AspNetRoles_RoleId"
,
column
:
x
=>
x
.
RoleId
,
principalTable
:
"AspNetRoles"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
table
.
ForeignKey
(
name
:
"FK_AspNetUserRoles_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateTable
(
name
:
"AspNetUserTokens"
,
columns
:
table
=>
new
{
UserId
=
table
.
Column
<
string
>(
type
:
"nvarchar(200)"
,
nullable
:
false
),
LoginProvider
=
table
.
Column
<
string
>(
type
:
"nvarchar(450)"
,
nullable
:
false
),
Name
=
table
.
Column
<
string
>(
type
:
"nvarchar(450)"
,
nullable
:
false
),
Value
=
table
.
Column
<
string
>(
type
:
"nvarchar(max)"
,
nullable
:
true
)
},
constraints
:
table
=>
{
table
.
PrimaryKey
(
"PK_AspNetUserTokens"
,
x
=>
new
{
x
.
UserId
,
x
.
LoginProvider
,
x
.
Name
});
table
.
ForeignKey
(
name
:
"FK_AspNetUserTokens_AspNetUsers_UserId"
,
column
:
x
=>
x
.
UserId
,
principalTable
:
"AspNetUsers"
,
principalColumn
:
"Id"
,
onDelete
:
ReferentialAction
.
Cascade
);
});
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetRoleClaims_RoleId"
,
table
:
"AspNetRoleClaims"
,
column
:
"RoleId"
);
migrationBuilder
.
CreateIndex
(
name
:
"RoleNameIndex"
,
table
:
"AspNetRoles"
,
column
:
"NormalizedName"
,
unique
:
true
,
filter
:
"[NormalizedName] IS NOT NULL"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetUserClaims_UserId"
,
table
:
"AspNetUserClaims"
,
column
:
"UserId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetUserLogins_UserId"
,
table
:
"AspNetUserLogins"
,
column
:
"UserId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetUserRoles_RoleId"
,
table
:
"AspNetUserRoles"
,
column
:
"RoleId"
);
migrationBuilder
.
CreateIndex
(
name
:
"EmailIndex"
,
table
:
"AspNetUsers"
,
column
:
"NormalizedEmail"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_AspNetUsers_PatientId"
,
table
:
"AspNetUsers"
,
column
:
"PatientId"
,
unique
:
true
);
migrationBuilder
.
CreateIndex
(
name
:
"UserNameIndex"
,
table
:
"AspNetUsers"
,
column
:
"NormalizedUserName"
,
unique
:
true
,
filter
:
"[NormalizedUserName] IS NOT NULL"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_MedicineIngredient_IngredientId"
,
table
:
"MedicineIngredient"
,
column
:
"IngredientId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_MedicineIngredient_MedicineId"
,
table
:
"MedicineIngredient"
,
column
:
"MedicineId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Medicines_CategoryId"
,
table
:
"Medicines"
,
column
:
"CategoryId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_Medicines_MedicineTypeId"
,
table
:
"Medicines"
,
column
:
"MedicineTypeId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PatientMedicine_MedicineId"
,
table
:
"PatientMedicine"
,
column
:
"MedicineId"
);
migrationBuilder
.
CreateIndex
(
name
:
"IX_PatientMedicine_PatientId"
,
table
:
"PatientMedicine"
,
column
:
"PatientId"
);
}
protected
override
void
Down
(
MigrationBuilder
migrationBuilder
)
{
migrationBuilder
.
DropTable
(
name
:
"AspNetRoleClaims"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserClaims"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserLogins"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserRoles"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUserTokens"
);
migrationBuilder
.
DropTable
(
name
:
"MedicineIngredient"
);
migrationBuilder
.
DropTable
(
name
:
"PatientMedicine"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetRoles"
);
migrationBuilder
.
DropTable
(
name
:
"AspNetUsers"
);
migrationBuilder
.
DropTable
(
name
:
"Ingredients"
);
migrationBuilder
.
DropTable
(
name
:
"Medicines"
);
migrationBuilder
.
DropTable
(
name
:
"Patients"
);
migrationBuilder
.
DropTable
(
name
:
"Categories"
);
migrationBuilder
.
DropTable
(
name
:
"MedicineTypes"
);
}
}
}
Infrastructure/Migrations/MedicDbContextModelSnapshot.cs
0 → 100644
View file @
25289efb
// <auto-generated />
using
System
;
using
Infrastructure.Data
;
using
Microsoft.EntityFrameworkCore
;
using
Microsoft.EntityFrameworkCore.Infrastructure
;
using
Microsoft.EntityFrameworkCore.Metadata
;
using
Microsoft.EntityFrameworkCore.Storage.ValueConversion
;
namespace
Infrastructure.Migrations
{
[
DbContext
(
typeof
(
MedicDbContext
))]
partial
class
MedicDbContextModelSnapshot
:
ModelSnapshot
{
protected
override
void
BuildModel
(
ModelBuilder
modelBuilder
)
{
#pragma warning disable 612, 618
modelBuilder
.
HasAnnotation
(
"Relational:Collation"
,
"Arabic_CI_AS"
)
.
HasAnnotation
(
"Relational:MaxIdentifierLength"
,
128
)
.
HasAnnotation
(
"ProductVersion"
,
"5.0.17"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Category"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Categories"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Ingredient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Ingredients"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Medicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
int
?>(
"CategoryId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Description"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"Dosage"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
?>(
"MedicineTypeId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"Price"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"CategoryId"
);
b
.
HasIndex
(
"MedicineTypeId"
);
b
.
ToTable
(
"Medicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineIngredient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
int
>(
"IngredientId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"Ratio"
)
.
HasColumnType
(
"int"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"IngredientId"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
ToTable
(
"MedicineIngredient"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineType"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"TypeName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"MedicineTypes"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Patient"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"Avatar"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"BIO"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"FirstName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"LastName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"Id"
);
b
.
ToTable
(
"Patients"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.PatientMedicine"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
int
>(
"MedicineId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
DateTime
>(
"PrescripDate"
)
.
HasColumnType
(
"datetime2"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"MedicineId"
);
b
.
HasIndex
(
"PatientId"
);
b
.
ToTable
(
"PatientMedicine"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.User"
,
b
=>
{
b
.
Property
<
string
>(
"Id"
)
.
HasMaxLength
(
200
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
int
>(
"AccessFailedCount"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
DateTime
>(
"CreationTime"
)
.
HasColumnType
(
"datetime2"
);
b
.
Property
<
string
>(
"Email"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
bool
>(
"EmailConfirmed"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
bool
>(
"LockoutEnabled"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
DateTimeOffset
?>(
"LockoutEnd"
)
.
HasColumnType
(
"datetimeoffset"
);
b
.
Property
<
string
>(
"NormalizedEmail"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
string
>(
"NormalizedUserName"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
string
>(
"PasswordHash"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
int
>(
"PatientId"
)
.
HasColumnType
(
"int"
);
b
.
Property
<
string
>(
"PhoneNumber"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"PhoneNumberConfirmed"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"SecurityStamp"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
bool
>(
"TwoFactorEnabled"
)
.
HasColumnType
(
"bit"
);
b
.
Property
<
string
>(
"UserName"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"NormalizedEmail"
)
.
HasDatabaseName
(
"EmailIndex"
);
b
.
HasIndex
(
"NormalizedUserName"
)
.
IsUnique
()
.
HasDatabaseName
(
"UserNameIndex"
)
.
HasFilter
(
"[NormalizedUserName] IS NOT NULL"
);
b
.
HasIndex
(
"PatientId"
)
.
IsUnique
();
b
.
ToTable
(
"AspNetUsers"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityRole"
,
b
=>
{
b
.
Property
<
string
>(
"Id"
)
.
HasMaxLength
(
200
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
string
>(
"ConcurrencyStamp"
)
.
IsConcurrencyToken
()
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"Name"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
Property
<
string
>(
"NormalizedName"
)
.
HasMaxLength
(
256
)
.
HasColumnType
(
"nvarchar(256)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"NormalizedName"
)
.
IsUnique
()
.
HasDatabaseName
(
"RoleNameIndex"
)
.
HasFilter
(
"[NormalizedName] IS NOT NULL"
);
b
.
ToTable
(
"AspNetRoles"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"ClaimType"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ClaimValue"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"RoleId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"RoleId"
);
b
.
ToTable
(
"AspNetRoleClaims"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserClaim<string>"
,
b
=>
{
b
.
Property
<
int
>(
"Id"
)
.
ValueGeneratedOnAdd
()
.
HasColumnType
(
"int"
)
.
HasAnnotation
(
"SqlServer:ValueGenerationStrategy"
,
SqlServerValueGenerationStrategy
.
IdentityColumn
);
b
.
Property
<
string
>(
"ClaimType"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"ClaimValue"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"UserId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"Id"
);
b
.
HasIndex
(
"UserId"
);
b
.
ToTable
(
"AspNetUserClaims"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserLogin<string>"
,
b
=>
{
b
.
Property
<
string
>(
"LoginProvider"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"ProviderKey"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"ProviderDisplayName"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
Property
<
string
>(
"UserId"
)
.
IsRequired
()
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"LoginProvider"
,
"ProviderKey"
);
b
.
HasIndex
(
"UserId"
);
b
.
ToTable
(
"AspNetUserLogins"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserRole<string>"
,
b
=>
{
b
.
Property
<
string
>(
"UserId"
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
string
>(
"RoleId"
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
HasKey
(
"UserId"
,
"RoleId"
);
b
.
HasIndex
(
"RoleId"
);
b
.
ToTable
(
"AspNetUserRoles"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserToken<string>"
,
b
=>
{
b
.
Property
<
string
>(
"UserId"
)
.
HasColumnType
(
"nvarchar(200)"
);
b
.
Property
<
string
>(
"LoginProvider"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"Name"
)
.
HasColumnType
(
"nvarchar(450)"
);
b
.
Property
<
string
>(
"Value"
)
.
HasColumnType
(
"nvarchar(max)"
);
b
.
HasKey
(
"UserId"
,
"LoginProvider"
,
"Name"
);
b
.
ToTable
(
"AspNetUserTokens"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Medicine"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Category"
,
"Category"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"CategoryId"
);
b
.
HasOne
(
"ApplicationCore.Entities.MedicineType"
,
"MedicineType"
)
.
WithMany
(
"Medicines"
)
.
HasForeignKey
(
"MedicineTypeId"
);
b
.
Navigation
(
"Category"
);
b
.
Navigation
(
"MedicineType"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineIngredient"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Ingredient"
,
"Ingredient"
)
.
WithMany
(
"MedicineIngredients"
)
.
HasForeignKey
(
"IngredientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"ApplicationCore.Entities.Medicine"
,
"Medicine"
)
.
WithMany
(
"MedicineIngredients"
)
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
Navigation
(
"Ingredient"
);
b
.
Navigation
(
"Medicine"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.PatientMedicine"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Medicine"
,
"Medicine"
)
.
WithMany
(
"PatientMedicines"
)
.
HasForeignKey
(
"MedicineId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"ApplicationCore.Entities.Patient"
,
"Patient"
)
.
WithMany
(
"PatientMedicines"
)
.
HasForeignKey
(
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
Navigation
(
"Medicine"
);
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.User"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.Patient"
,
"Patient"
)
.
WithOne
(
"User"
)
.
HasForeignKey
(
"ApplicationCore.Entities.User"
,
"PatientId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
Navigation
(
"Patient"
);
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>"
,
b
=>
{
b
.
HasOne
(
"Microsoft.AspNetCore.Identity.IdentityRole"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserClaim<string>"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserLogin<string>"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserRole<string>"
,
b
=>
{
b
.
HasOne
(
"Microsoft.AspNetCore.Identity.IdentityRole"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"RoleId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"Microsoft.AspNetCore.Identity.IdentityUserToken<string>"
,
b
=>
{
b
.
HasOne
(
"ApplicationCore.Entities.User"
,
null
)
.
WithMany
()
.
HasForeignKey
(
"UserId"
)
.
OnDelete
(
DeleteBehavior
.
Cascade
)
.
IsRequired
();
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Category"
,
b
=>
{
b
.
Navigation
(
"Medicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Ingredient"
,
b
=>
{
b
.
Navigation
(
"MedicineIngredients"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Medicine"
,
b
=>
{
b
.
Navigation
(
"MedicineIngredients"
);
b
.
Navigation
(
"PatientMedicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.MedicineType"
,
b
=>
{
b
.
Navigation
(
"Medicines"
);
});
modelBuilder
.
Entity
(
"ApplicationCore.Entities.Patient"
,
b
=>
{
b
.
Navigation
(
"PatientMedicines"
);
b
.
Navigation
(
"User"
);
});
#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