diff --git a/VetClinic/VetClinicDataBaseImplement/Migrations/20240428120220_InitialCreate.Designer.cs b/VetClinic/VetClinicDataBaseImplement/Migrations/20240428120220_InitialCreate.Designer.cs
new file mode 100644
index 0000000..986e936
--- /dev/null
+++ b/VetClinic/VetClinicDataBaseImplement/Migrations/20240428120220_InitialCreate.Designer.cs
@@ -0,0 +1,515 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using VetClinicDataBaseImplement;
+
+#nullable disable
+
+namespace VetClinicDataBaseImplement.Migrations
+{
+ [DbContext(typeof(VetClinicDatabase))]
+ [Migration("20240428120220_InitialCreate")]
+ partial class InitialCreate
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.4")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AdminFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Admins");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AdminId")
+ .HasColumnType("int");
+
+ b.Property("AnimalName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Family")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AdminId");
+
+ b.ToTable("Animals");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Date")
+ .HasColumnType("datetime2");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.Property("Text")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("Guidances");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("MedicineName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PharmacistId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PharmacistId");
+
+ b.ToTable("Medicines");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AnimalId")
+ .HasColumnType("int");
+
+ b.Property("MedicineId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AnimalId");
+
+ b.HasIndex("MedicineId");
+
+ b.ToTable("MedicineAnimals");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PharmacistFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Pharmacists");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PharmacistId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.Property("ServiceName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PharmacistId");
+
+ b.ToTable("Services");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("MedicineId")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MedicineId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("ServiceMedicines");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AnimalId")
+ .HasColumnType("int");
+
+ b.Property("CostVaccination")
+ .HasColumnType("float");
+
+ b.Property("DateStamp")
+ .IsRequired()
+ .HasColumnType("datetime2");
+
+ b.Property("NameVaccination")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AnimalId");
+
+ b.ToTable("Vaccinations");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AdminId")
+ .HasColumnType("int");
+
+ b.Property("DateVisit")
+ .HasColumnType("datetime2");
+
+ b.Property("NameVisit")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AdminId");
+
+ b.ToTable("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AnimalId")
+ .HasColumnType("int");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AnimalId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("VisitAnimals");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ServiceId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("ServiceVisits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
+ .WithMany("Animals")
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
+ .WithMany("Guidances")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
+ .WithMany("Medicines")
+ .HasForeignKey("PharmacistId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pharmacist");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
+ .WithMany("Medicines")
+ .HasForeignKey("AnimalId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
+ .WithMany("Animals")
+ .HasForeignKey("MedicineId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Animal");
+
+ b.Navigation("Medicine");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
+ .WithMany("Services")
+ .HasForeignKey("PharmacistId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pharmacist");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
+ .WithMany("Services")
+ .HasForeignKey("MedicineId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
+ .WithMany("Medicines")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Medicine");
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
+ .WithMany("Vaccinations")
+ .HasForeignKey("AnimalId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Animal");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
+ .WithMany("Visits")
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
+ .WithMany("Visits")
+ .HasForeignKey("AnimalId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
+ .WithMany("Animals")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Animal");
+
+ b.Navigation("Visit");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
+ .WithMany("Visits")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
+ .WithMany("Services")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Service");
+
+ b.Navigation("Visit");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
+ {
+ b.Navigation("Animals");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
+ {
+ b.Navigation("Medicines");
+
+ b.Navigation("Vaccinations");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
+ {
+ b.Navigation("Animals");
+
+ b.Navigation("Services");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
+ {
+ b.Navigation("Medicines");
+
+ b.Navigation("Services");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
+ {
+ b.Navigation("Guidances");
+
+ b.Navigation("Medicines");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
+ {
+ b.Navigation("Animals");
+
+ b.Navigation("Services");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/VetClinic/VetClinicDataBaseImplement/Migrations/20240428120220_InitialCreate.cs b/VetClinic/VetClinicDataBaseImplement/Migrations/20240428120220_InitialCreate.cs
new file mode 100644
index 0000000..16965da
--- /dev/null
+++ b/VetClinic/VetClinicDataBaseImplement/Migrations/20240428120220_InitialCreate.cs
@@ -0,0 +1,386 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace VetClinicDataBaseImplement.Migrations
+{
+ ///
+ public partial class InitialCreate : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "Admins",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ AdminFIO = table.Column(type: "nvarchar(max)", nullable: false),
+ Email = table.Column(type: "nvarchar(max)", nullable: false),
+ Password = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Admins", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Pharmacists",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ PharmacistFIO = table.Column(type: "nvarchar(max)", nullable: false),
+ Email = table.Column(type: "nvarchar(max)", nullable: false),
+ Password = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Pharmacists", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Animals",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ AdminId = table.Column(type: "int", nullable: false),
+ AnimalName = table.Column(type: "nvarchar(max)", nullable: false),
+ Family = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Animals", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Animals_Admins_AdminId",
+ column: x => x.AdminId,
+ principalTable: "Admins",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Visits",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ AdminId = table.Column(type: "int", nullable: false),
+ NameVisit = table.Column(type: "nvarchar(max)", nullable: false),
+ DateVisit = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Visits", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Visits_Admins_AdminId",
+ column: x => x.AdminId,
+ principalTable: "Admins",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Medicines",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ MedicineName = table.Column(type: "nvarchar(max)", nullable: false),
+ PharmacistId = table.Column(type: "int", nullable: false),
+ Price = table.Column(type: "float", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Medicines", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Medicines_Pharmacists_PharmacistId",
+ column: x => x.PharmacistId,
+ principalTable: "Pharmacists",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Services",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ServiceName = table.Column(type: "nvarchar(max)", nullable: false),
+ Price = table.Column(type: "float", nullable: false),
+ PharmacistId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Services", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Services_Pharmacists_PharmacistId",
+ column: x => x.PharmacistId,
+ principalTable: "Pharmacists",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Vaccinations",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ AnimalId = table.Column(type: "int", nullable: false),
+ NameVaccination = table.Column(type: "nvarchar(max)", nullable: false),
+ CostVaccination = table.Column(type: "float", nullable: false),
+ DateStamp = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Vaccinations", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Vaccinations_Animals_AnimalId",
+ column: x => x.AnimalId,
+ principalTable: "Animals",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "VisitAnimals",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ AnimalId = table.Column(type: "int", nullable: false),
+ VisitId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_VisitAnimals", x => x.Id);
+ table.ForeignKey(
+ name: "FK_VisitAnimals_Animals_AnimalId",
+ column: x => x.AnimalId,
+ principalTable: "Animals",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_VisitAnimals_Visits_VisitId",
+ column: x => x.VisitId,
+ principalTable: "Visits",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "MedicineAnimals",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ MedicineId = table.Column(type: "int", nullable: false),
+ AnimalId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_MedicineAnimals", x => x.Id);
+ table.ForeignKey(
+ name: "FK_MedicineAnimals_Animals_AnimalId",
+ column: x => x.AnimalId,
+ principalTable: "Animals",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_MedicineAnimals_Medicines_MedicineId",
+ column: x => x.MedicineId,
+ principalTable: "Medicines",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Guidances",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ServiceId = table.Column(type: "int", nullable: false),
+ Text = table.Column(type: "nvarchar(max)", nullable: false),
+ Date = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Guidances", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Guidances_Services_ServiceId",
+ column: x => x.ServiceId,
+ principalTable: "Services",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ServiceMedicines",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ServiceId = table.Column(type: "int", nullable: false),
+ MedicineId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ServiceMedicines", x => x.Id);
+ table.ForeignKey(
+ name: "FK_ServiceMedicines_Medicines_MedicineId",
+ column: x => x.MedicineId,
+ principalTable: "Medicines",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_ServiceMedicines_Services_ServiceId",
+ column: x => x.ServiceId,
+ principalTable: "Services",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ServiceVisits",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ServiceId = table.Column(type: "int", nullable: false),
+ VisitId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ServiceVisits", x => x.Id);
+ table.ForeignKey(
+ name: "FK_ServiceVisits_Services_ServiceId",
+ column: x => x.ServiceId,
+ principalTable: "Services",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_ServiceVisits_Visits_VisitId",
+ column: x => x.VisitId,
+ principalTable: "Visits",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Animals_AdminId",
+ table: "Animals",
+ column: "AdminId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Guidances_ServiceId",
+ table: "Guidances",
+ column: "ServiceId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_MedicineAnimals_AnimalId",
+ table: "MedicineAnimals",
+ column: "AnimalId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_MedicineAnimals_MedicineId",
+ table: "MedicineAnimals",
+ column: "MedicineId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Medicines_PharmacistId",
+ table: "Medicines",
+ column: "PharmacistId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceMedicines_MedicineId",
+ table: "ServiceMedicines",
+ column: "MedicineId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceMedicines_ServiceId",
+ table: "ServiceMedicines",
+ column: "ServiceId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Services_PharmacistId",
+ table: "Services",
+ column: "PharmacistId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceVisits_ServiceId",
+ table: "ServiceVisits",
+ column: "ServiceId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceVisits_VisitId",
+ table: "ServiceVisits",
+ column: "VisitId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Vaccinations_AnimalId",
+ table: "Vaccinations",
+ column: "AnimalId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VisitAnimals_AnimalId",
+ table: "VisitAnimals",
+ column: "AnimalId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VisitAnimals_VisitId",
+ table: "VisitAnimals",
+ column: "VisitId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Visits_AdminId",
+ table: "Visits",
+ column: "AdminId");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "Guidances");
+
+ migrationBuilder.DropTable(
+ name: "MedicineAnimals");
+
+ migrationBuilder.DropTable(
+ name: "ServiceMedicines");
+
+ migrationBuilder.DropTable(
+ name: "ServiceVisits");
+
+ migrationBuilder.DropTable(
+ name: "Vaccinations");
+
+ migrationBuilder.DropTable(
+ name: "VisitAnimals");
+
+ migrationBuilder.DropTable(
+ name: "Medicines");
+
+ migrationBuilder.DropTable(
+ name: "Services");
+
+ migrationBuilder.DropTable(
+ name: "Animals");
+
+ migrationBuilder.DropTable(
+ name: "Visits");
+
+ migrationBuilder.DropTable(
+ name: "Pharmacists");
+
+ migrationBuilder.DropTable(
+ name: "Admins");
+ }
+ }
+}
diff --git a/VetClinic/VetClinicDataBaseImplement/Migrations/VetClinicDatabaseModelSnapshot.cs b/VetClinic/VetClinicDataBaseImplement/Migrations/VetClinicDatabaseModelSnapshot.cs
new file mode 100644
index 0000000..ce5bfb5
--- /dev/null
+++ b/VetClinic/VetClinicDataBaseImplement/Migrations/VetClinicDatabaseModelSnapshot.cs
@@ -0,0 +1,512 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using VetClinicDataBaseImplement;
+
+#nullable disable
+
+namespace VetClinicDataBaseImplement.Migrations
+{
+ [DbContext(typeof(VetClinicDatabase))]
+ partial class VetClinicDatabaseModelSnapshot : ModelSnapshot
+ {
+ protected override void BuildModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.4")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AdminFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Admins");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AdminId")
+ .HasColumnType("int");
+
+ b.Property("AnimalName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Family")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AdminId");
+
+ b.ToTable("Animals");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Date")
+ .HasColumnType("datetime2");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.Property("Text")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("Guidances");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("MedicineName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PharmacistId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PharmacistId");
+
+ b.ToTable("Medicines");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AnimalId")
+ .HasColumnType("int");
+
+ b.Property("MedicineId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AnimalId");
+
+ b.HasIndex("MedicineId");
+
+ b.ToTable("MedicineAnimals");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PharmacistFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Pharmacists");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PharmacistId")
+ .HasColumnType("int");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.Property("ServiceName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PharmacistId");
+
+ b.ToTable("Services");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("MedicineId")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MedicineId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("ServiceMedicines");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AnimalId")
+ .HasColumnType("int");
+
+ b.Property("CostVaccination")
+ .HasColumnType("float");
+
+ b.Property("DateStamp")
+ .IsRequired()
+ .HasColumnType("datetime2");
+
+ b.Property("NameVaccination")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AnimalId");
+
+ b.ToTable("Vaccinations");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AdminId")
+ .HasColumnType("int");
+
+ b.Property("DateVisit")
+ .HasColumnType("datetime2");
+
+ b.Property("NameVisit")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AdminId");
+
+ b.ToTable("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("AnimalId")
+ .HasColumnType("int");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AnimalId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("VisitAnimals");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ServiceId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("ServiceVisits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
+ .WithMany("Animals")
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Guidance", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
+ .WithMany("Guidances")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
+ .WithMany("Medicines")
+ .HasForeignKey("PharmacistId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pharmacist");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.MedicineAnimal", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
+ .WithMany("Medicines")
+ .HasForeignKey("AnimalId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
+ .WithMany("Animals")
+ .HasForeignKey("MedicineId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Animal");
+
+ b.Navigation("Medicine");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Pharmacist", "Pharmacist")
+ .WithMany("Services")
+ .HasForeignKey("PharmacistId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pharmacist");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.ServiceMedicine", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Medicine", "Medicine")
+ .WithMany("Services")
+ .HasForeignKey("MedicineId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
+ .WithMany("Medicines")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Medicine");
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Vaccination", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
+ .WithMany("Vaccinations")
+ .HasForeignKey("AnimalId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Animal");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Admin", "Admin")
+ .WithMany("Visits")
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitAnimal", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Animal", "Animal")
+ .WithMany("Visits")
+ .HasForeignKey("AnimalId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
+ .WithMany("Animals")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Animal");
+
+ b.Navigation("Visit");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.VisitService", b =>
+ {
+ b.HasOne("VetClinicDataBaseImplement.Models.Service", "Service")
+ .WithMany("Visits")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VetClinicDataBaseImplement.Models.Visit", "Visit")
+ .WithMany("Services")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Service");
+
+ b.Navigation("Visit");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Admin", b =>
+ {
+ b.Navigation("Animals");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Animal", b =>
+ {
+ b.Navigation("Medicines");
+
+ b.Navigation("Vaccinations");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Medicine", b =>
+ {
+ b.Navigation("Animals");
+
+ b.Navigation("Services");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Pharmacist", b =>
+ {
+ b.Navigation("Medicines");
+
+ b.Navigation("Services");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Service", b =>
+ {
+ b.Navigation("Guidances");
+
+ b.Navigation("Medicines");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VetClinicDataBaseImplement.Models.Visit", b =>
+ {
+ b.Navigation("Animals");
+
+ b.Navigation("Services");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}