diff --git a/Polyclinic/PolyclinicDatabaseImplement/Migrations/20240430074427_InitializeDatabase.Designer.cs b/Polyclinic/PolyclinicDatabaseImplement/Migrations/20240430074427_InitializeDatabase.Designer.cs new file mode 100644 index 0000000..6e6261c --- /dev/null +++ b/Polyclinic/PolyclinicDatabaseImplement/Migrations/20240430074427_InitializeDatabase.Designer.cs @@ -0,0 +1,431 @@ +// +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using SecuritySystemDatabaseImplement; + +#nullable disable + +namespace PolyclinicDatabaseImplement.Migrations +{ + [DbContext(typeof(PolyclinicDatabase))] + [Migration("20240430074427_InitializeDatabase")] + partial class InitializeDatabase + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.16") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Course", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DaysCount") + .HasColumnType("int"); + + b.Property("PillsPerDay") + .HasColumnType("int"); + + b.Property("RecipeId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RecipeId"); + + b.ToTable("Courses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.CourseDiagnose", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CourseId") + .HasColumnType("int"); + + b.Property("DiagnoseId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CourseId"); + + b.HasIndex("DiagnoseId"); + + b.ToTable("CourseDiagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Diagnose", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Diagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Medicament", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ProcedureId") + .HasColumnType("int"); + + b.Property("SymptomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProcedureId"); + + b.HasIndex("SymptomId"); + + b.ToTable("Medicaments"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Procedure", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Procedures"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.ProcedureRecipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ProcedureId") + .HasColumnType("int"); + + b.Property("RecipeId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProcedureId"); + + b.HasIndex("RecipeId"); + + b.ToTable("ProcedureRecipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Recipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ProceduresCount") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Recipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Symptom", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Symptomes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomDiagnose", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("DiagnoseId") + .HasColumnType("int"); + + b.Property("SymptomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("DiagnoseId"); + + b.HasIndex("SymptomId"); + + b.ToTable("SymptomDiagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomRecipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("RecipeId") + .HasColumnType("int"); + + b.Property("SymptomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RecipeId"); + + b.HasIndex("SymptomId"); + + b.ToTable("SymptomRecipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("FIO") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Role") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Course", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Recipe", "Recipe") + .WithMany() + .HasForeignKey("RecipeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Recipe"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.CourseDiagnose", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Course", "Course") + .WithMany("Diagnoses") + .HasForeignKey("CourseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Diagnose", "Diagnose") + .WithMany() + .HasForeignKey("DiagnoseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Course"); + + b.Navigation("Diagnose"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Diagnose", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Medicament", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Procedure", "Procedure") + .WithMany() + .HasForeignKey("ProcedureId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Symptom", "Symptom") + .WithMany() + .HasForeignKey("SymptomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Procedure"); + + b.Navigation("Symptom"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.ProcedureRecipe", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Procedure", "Procedure") + .WithMany("Recipes") + .HasForeignKey("ProcedureId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Recipe", "Recipe") + .WithMany() + .HasForeignKey("RecipeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Procedure"); + + b.Navigation("Recipe"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomDiagnose", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Diagnose", "Diagnose") + .WithMany() + .HasForeignKey("DiagnoseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Symptom", "Symptom") + .WithMany("Diagnoses") + .HasForeignKey("SymptomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Diagnose"); + + b.Navigation("Symptom"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomRecipe", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Recipe", "Recipe") + .WithMany() + .HasForeignKey("RecipeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Symptom", "Symptom") + .WithMany() + .HasForeignKey("SymptomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Recipe"); + + b.Navigation("Symptom"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Course", b => + { + b.Navigation("Diagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Procedure", b => + { + b.Navigation("Recipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Symptom", b => + { + b.Navigation("Diagnoses"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Polyclinic/PolyclinicDatabaseImplement/Migrations/20240430074427_InitializeDatabase.cs b/Polyclinic/PolyclinicDatabaseImplement/Migrations/20240430074427_InitializeDatabase.cs new file mode 100644 index 0000000..f85fb17 --- /dev/null +++ b/Polyclinic/PolyclinicDatabaseImplement/Migrations/20240430074427_InitializeDatabase.cs @@ -0,0 +1,345 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace PolyclinicDatabaseImplement.Migrations +{ + /// + public partial class InitializeDatabase : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Procedures", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + UserId = table.Column(type: "int", nullable: false), + Name = table.Column(type: "nvarchar(max)", nullable: false), + Comment = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Procedures", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Recipes", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ProceduresCount = table.Column(type: "int", nullable: false), + Comment = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Recipes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Symptomes", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(max)", nullable: false), + Comment = table.Column(type: "nvarchar(max)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Symptomes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Users", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + FIO = table.Column(type: "nvarchar(max)", nullable: false), + Email = table.Column(type: "nvarchar(max)", nullable: false), + Password = table.Column(type: "nvarchar(max)", nullable: false), + Role = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Users", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Courses", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + DaysCount = table.Column(type: "int", nullable: false), + PillsPerDay = table.Column(type: "int", nullable: false), + Comment = table.Column(type: "nvarchar(max)", nullable: false), + RecipeId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Courses", x => x.Id); + table.ForeignKey( + name: "FK_Courses_Recipes_RecipeId", + column: x => x.RecipeId, + principalTable: "Recipes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "ProcedureRecipes", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + ProcedureId = table.Column(type: "int", nullable: false), + RecipeId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ProcedureRecipes", x => x.Id); + table.ForeignKey( + name: "FK_ProcedureRecipes_Procedures_ProcedureId", + column: x => x.ProcedureId, + principalTable: "Procedures", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_ProcedureRecipes_Recipes_RecipeId", + column: x => x.RecipeId, + principalTable: "Recipes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Medicaments", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(max)", nullable: false), + Comment = table.Column(type: "nvarchar(max)", nullable: false), + ProcedureId = table.Column(type: "int", nullable: false), + SymptomId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Medicaments", x => x.Id); + table.ForeignKey( + name: "FK_Medicaments_Procedures_ProcedureId", + column: x => x.ProcedureId, + principalTable: "Procedures", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Medicaments_Symptomes_SymptomId", + column: x => x.SymptomId, + principalTable: "Symptomes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "SymptomRecipes", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + SymptomId = table.Column(type: "int", nullable: false), + RecipeId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_SymptomRecipes", x => x.Id); + table.ForeignKey( + name: "FK_SymptomRecipes_Recipes_RecipeId", + column: x => x.RecipeId, + principalTable: "Recipes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_SymptomRecipes_Symptomes_SymptomId", + column: x => x.SymptomId, + principalTable: "Symptomes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "Diagnoses", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(max)", nullable: false), + Comment = table.Column(type: "nvarchar(max)", nullable: false), + UserId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Diagnoses", x => x.Id); + table.ForeignKey( + name: "FK_Diagnoses_Users_UserId", + column: x => x.UserId, + principalTable: "Users", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "CourseDiagnoses", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + CourseId = table.Column(type: "int", nullable: false), + DiagnoseId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CourseDiagnoses", x => x.Id); + table.ForeignKey( + name: "FK_CourseDiagnoses_Courses_CourseId", + column: x => x.CourseId, + principalTable: "Courses", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_CourseDiagnoses_Diagnoses_DiagnoseId", + column: x => x.DiagnoseId, + principalTable: "Diagnoses", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "SymptomDiagnoses", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + SymptomId = table.Column(type: "int", nullable: false), + DiagnoseId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_SymptomDiagnoses", x => x.Id); + table.ForeignKey( + name: "FK_SymptomDiagnoses_Diagnoses_DiagnoseId", + column: x => x.DiagnoseId, + principalTable: "Diagnoses", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_SymptomDiagnoses_Symptomes_SymptomId", + column: x => x.SymptomId, + principalTable: "Symptomes", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_CourseDiagnoses_CourseId", + table: "CourseDiagnoses", + column: "CourseId"); + + migrationBuilder.CreateIndex( + name: "IX_CourseDiagnoses_DiagnoseId", + table: "CourseDiagnoses", + column: "DiagnoseId"); + + migrationBuilder.CreateIndex( + name: "IX_Courses_RecipeId", + table: "Courses", + column: "RecipeId"); + + migrationBuilder.CreateIndex( + name: "IX_Diagnoses_UserId", + table: "Diagnoses", + column: "UserId"); + + migrationBuilder.CreateIndex( + name: "IX_Medicaments_ProcedureId", + table: "Medicaments", + column: "ProcedureId"); + + migrationBuilder.CreateIndex( + name: "IX_Medicaments_SymptomId", + table: "Medicaments", + column: "SymptomId"); + + migrationBuilder.CreateIndex( + name: "IX_ProcedureRecipes_ProcedureId", + table: "ProcedureRecipes", + column: "ProcedureId"); + + migrationBuilder.CreateIndex( + name: "IX_ProcedureRecipes_RecipeId", + table: "ProcedureRecipes", + column: "RecipeId"); + + migrationBuilder.CreateIndex( + name: "IX_SymptomDiagnoses_DiagnoseId", + table: "SymptomDiagnoses", + column: "DiagnoseId"); + + migrationBuilder.CreateIndex( + name: "IX_SymptomDiagnoses_SymptomId", + table: "SymptomDiagnoses", + column: "SymptomId"); + + migrationBuilder.CreateIndex( + name: "IX_SymptomRecipes_RecipeId", + table: "SymptomRecipes", + column: "RecipeId"); + + migrationBuilder.CreateIndex( + name: "IX_SymptomRecipes_SymptomId", + table: "SymptomRecipes", + column: "SymptomId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "CourseDiagnoses"); + + migrationBuilder.DropTable( + name: "Medicaments"); + + migrationBuilder.DropTable( + name: "ProcedureRecipes"); + + migrationBuilder.DropTable( + name: "SymptomDiagnoses"); + + migrationBuilder.DropTable( + name: "SymptomRecipes"); + + migrationBuilder.DropTable( + name: "Courses"); + + migrationBuilder.DropTable( + name: "Procedures"); + + migrationBuilder.DropTable( + name: "Diagnoses"); + + migrationBuilder.DropTable( + name: "Symptomes"); + + migrationBuilder.DropTable( + name: "Recipes"); + + migrationBuilder.DropTable( + name: "Users"); + } + } +} diff --git a/Polyclinic/PolyclinicDatabaseImplement/Migrations/PolyclinicDatabaseModelSnapshot.cs b/Polyclinic/PolyclinicDatabaseImplement/Migrations/PolyclinicDatabaseModelSnapshot.cs new file mode 100644 index 0000000..90355e1 --- /dev/null +++ b/Polyclinic/PolyclinicDatabaseImplement/Migrations/PolyclinicDatabaseModelSnapshot.cs @@ -0,0 +1,428 @@ +// +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using SecuritySystemDatabaseImplement; + +#nullable disable + +namespace PolyclinicDatabaseImplement.Migrations +{ + [DbContext(typeof(PolyclinicDatabase))] + partial class PolyclinicDatabaseModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.16") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Course", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DaysCount") + .HasColumnType("int"); + + b.Property("PillsPerDay") + .HasColumnType("int"); + + b.Property("RecipeId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RecipeId"); + + b.ToTable("Courses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.CourseDiagnose", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CourseId") + .HasColumnType("int"); + + b.Property("DiagnoseId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("CourseId"); + + b.HasIndex("DiagnoseId"); + + b.ToTable("CourseDiagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Diagnose", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Diagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Medicament", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ProcedureId") + .HasColumnType("int"); + + b.Property("SymptomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProcedureId"); + + b.HasIndex("SymptomId"); + + b.ToTable("Medicaments"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Procedure", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Procedures"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.ProcedureRecipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ProcedureId") + .HasColumnType("int"); + + b.Property("RecipeId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("ProcedureId"); + + b.HasIndex("RecipeId"); + + b.ToTable("ProcedureRecipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Recipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ProceduresCount") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Recipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Symptom", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Comment") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Symptomes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomDiagnose", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("DiagnoseId") + .HasColumnType("int"); + + b.Property("SymptomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("DiagnoseId"); + + b.HasIndex("SymptomId"); + + b.ToTable("SymptomDiagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomRecipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("RecipeId") + .HasColumnType("int"); + + b.Property("SymptomId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RecipeId"); + + b.HasIndex("SymptomId"); + + b.ToTable("SymptomRecipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Email") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("FIO") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Role") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Course", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Recipe", "Recipe") + .WithMany() + .HasForeignKey("RecipeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Recipe"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.CourseDiagnose", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Course", "Course") + .WithMany("Diagnoses") + .HasForeignKey("CourseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Diagnose", "Diagnose") + .WithMany() + .HasForeignKey("DiagnoseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Course"); + + b.Navigation("Diagnose"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Diagnose", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Medicament", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Procedure", "Procedure") + .WithMany() + .HasForeignKey("ProcedureId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Symptom", "Symptom") + .WithMany() + .HasForeignKey("SymptomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Procedure"); + + b.Navigation("Symptom"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.ProcedureRecipe", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Procedure", "Procedure") + .WithMany("Recipes") + .HasForeignKey("ProcedureId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Recipe", "Recipe") + .WithMany() + .HasForeignKey("RecipeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Procedure"); + + b.Navigation("Recipe"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomDiagnose", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Diagnose", "Diagnose") + .WithMany() + .HasForeignKey("DiagnoseId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Symptom", "Symptom") + .WithMany("Diagnoses") + .HasForeignKey("SymptomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Diagnose"); + + b.Navigation("Symptom"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.SymptomRecipe", b => + { + b.HasOne("PolyclinicDatabaseImplement.Models.Recipe", "Recipe") + .WithMany() + .HasForeignKey("RecipeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("PolyclinicDatabaseImplement.Models.Symptom", "Symptom") + .WithMany() + .HasForeignKey("SymptomId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Recipe"); + + b.Navigation("Symptom"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Course", b => + { + b.Navigation("Diagnoses"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Procedure", b => + { + b.Navigation("Recipes"); + }); + + modelBuilder.Entity("PolyclinicDatabaseImplement.Models.Symptom", b => + { + b.Navigation("Diagnoses"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Polyclinic/PolyclinicDatabaseImplement/PolyclinicDatabaseImplement.csproj b/Polyclinic/PolyclinicDatabaseImplement/PolyclinicDatabaseImplement.csproj index a72d4e4..a1d7582 100644 --- a/Polyclinic/PolyclinicDatabaseImplement/PolyclinicDatabaseImplement.csproj +++ b/Polyclinic/PolyclinicDatabaseImplement/PolyclinicDatabaseImplement.csproj @@ -9,6 +9,10 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/Polyclinic/PolyclinicView/PolyclinicView.csproj b/Polyclinic/PolyclinicView/PolyclinicView.csproj index b57c89e..05799d6 100644 --- a/Polyclinic/PolyclinicView/PolyclinicView.csproj +++ b/Polyclinic/PolyclinicView/PolyclinicView.csproj @@ -8,4 +8,15 @@ enable + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + \ No newline at end of file