diff --git a/VeterinaryView/VeterinaryDatabaseImplement/Migrations/20240425184611_InitialCreate.Designer.cs b/VeterinaryView/VeterinaryDatabaseImplement/Migrations/20240425184611_InitialCreate.Designer.cs
new file mode 100644
index 0000000..6cd3d63
--- /dev/null
+++ b/VeterinaryView/VeterinaryDatabaseImplement/Migrations/20240425184611_InitialCreate.Designer.cs
@@ -0,0 +1,549 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using VeterinaryDatabaseImplement;
+
+#nullable disable
+
+namespace VeterinaryDatabaseImplement.Migrations
+{
+ [DbContext(typeof(VeterinaryDatabase))]
+ [Migration("20240425184611_InitialCreate")]
+ partial class InitialCreate
+ {
+ ///
+ 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("VeterinaryDatabaseImplement.Models.Doctor", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DoctorFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Login")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Doctors");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Drug", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("DrugName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("Drugs");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.DrugMedication", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("DrugId")
+ .HasColumnType("int");
+
+ b.Property("MedicationId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DrugId");
+
+ b.HasIndex("MedicationId");
+
+ b.ToTable("DrugMedications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Medication", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DoctorId")
+ .HasColumnType("int");
+
+ b.Property("MedicationName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DoctorId");
+
+ b.ToTable("Medications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Owner", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Login")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OwnerFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Owners");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Pet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.Property("PetBreed")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PetGender")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PetName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PetType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Pets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("DatePurchase")
+ .HasColumnType("datetime2");
+
+ b.Property("DrugId")
+ .HasColumnType("int");
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.Property("Sum")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DrugId");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Purchases");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.PurchasePet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PetId")
+ .HasColumnType("int");
+
+ b.Property("PurchaseId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PetId");
+
+ b.HasIndex("PurchaseId");
+
+ b.ToTable("PurchasePets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Service", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DoctorId")
+ .HasColumnType("int");
+
+ b.Property("ServiceName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DoctorId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("Services");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.ServiceMedication", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("MedicationId")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MedicationId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("ServiceMedications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Visit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DateVisit")
+ .HasColumnType("datetime2");
+
+ b.Property("DoctorId")
+ .IsRequired()
+ .HasColumnType("int");
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DoctorId");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Visits");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.VisitPet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PetId")
+ .HasColumnType("int");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PetId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("VisitPets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.DrugMedication", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Drug", "Drug")
+ .WithMany("Medications")
+ .HasForeignKey("DrugId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Medication", "Medication")
+ .WithMany("DrugMedications")
+ .HasForeignKey("MedicationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Drug");
+
+ b.Navigation("Medication");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Medication", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Doctor", null)
+ .WithMany("Medications")
+ .HasForeignKey("DoctorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Pet", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Owner", null)
+ .WithMany("Pets")
+ .HasForeignKey("OwnerId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Purchase", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Drug", "Drug")
+ .WithMany("Purchases")
+ .HasForeignKey("DrugId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Owner", "Owner")
+ .WithMany("Purchases")
+ .HasForeignKey("OwnerId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Drug");
+
+ b.Navigation("Owner");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.PurchasePet", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Pet", "Pet")
+ .WithMany()
+ .HasForeignKey("PetId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Purchase", "Purchase")
+ .WithMany("Pets")
+ .HasForeignKey("PurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pet");
+
+ b.Navigation("Purchase");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Service", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Doctor", "Doctor")
+ .WithMany("Services")
+ .HasForeignKey("DoctorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Visit", null)
+ .WithMany("Services")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Doctor");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.ServiceMedication", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Medication", "Medication")
+ .WithMany("ServiceMedications")
+ .HasForeignKey("MedicationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Service", "Service")
+ .WithMany("Medications")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Medication");
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Visit", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Doctor", "Doctor")
+ .WithMany("Visits")
+ .HasForeignKey("DoctorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Owner", "Owner")
+ .WithMany("Visits")
+ .HasForeignKey("OwnerId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Doctor");
+
+ b.Navigation("Owner");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.VisitPet", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Pet", "Pet")
+ .WithMany("VisitPets")
+ .HasForeignKey("PetId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Visit", "Visit")
+ .WithMany("Pets")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pet");
+
+ b.Navigation("Visit");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Doctor", b =>
+ {
+ b.Navigation("Medications");
+
+ b.Navigation("Services");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Drug", b =>
+ {
+ b.Navigation("Medications");
+
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Medication", b =>
+ {
+ b.Navigation("DrugMedications");
+
+ b.Navigation("ServiceMedications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Owner", b =>
+ {
+ b.Navigation("Pets");
+
+ b.Navigation("Purchases");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Pet", b =>
+ {
+ b.Navigation("VisitPets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Navigation("Pets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Service", b =>
+ {
+ b.Navigation("Medications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Visit", b =>
+ {
+ b.Navigation("Pets");
+
+ b.Navigation("Services");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/VeterinaryView/VeterinaryDatabaseImplement/Migrations/20240425184611_InitialCreate.cs b/VeterinaryView/VeterinaryDatabaseImplement/Migrations/20240425184611_InitialCreate.cs
new file mode 100644
index 0000000..dc27ee4
--- /dev/null
+++ b/VeterinaryView/VeterinaryDatabaseImplement/Migrations/20240425184611_InitialCreate.cs
@@ -0,0 +1,413 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace VeterinaryDatabaseImplement.Migrations
+{
+ ///
+ public partial class InitialCreate : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "Doctors",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ DoctorFIO = table.Column(type: "nvarchar(max)", nullable: false),
+ Login = table.Column(type: "nvarchar(max)", nullable: false),
+ Password = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Doctors", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Drugs",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ DrugName = table.Column(type: "nvarchar(max)", nullable: false),
+ Price = table.Column(type: "float", nullable: false),
+ Count = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Drugs", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Owners",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ OwnerFIO = table.Column(type: "nvarchar(max)", nullable: false),
+ Login = table.Column(type: "nvarchar(max)", nullable: false),
+ Password = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Owners", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Medications",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ MedicationName = table.Column(type: "nvarchar(max)", nullable: false),
+ Price = table.Column(type: "float", nullable: false),
+ DoctorId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Medications", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Medications_Doctors_DoctorId",
+ column: x => x.DoctorId,
+ principalTable: "Doctors",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Pets",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ OwnerId = table.Column(type: "int", nullable: false),
+ PetName = table.Column(type: "nvarchar(max)", nullable: false),
+ PetType = table.Column(type: "nvarchar(max)", nullable: false),
+ PetBreed = table.Column(type: "nvarchar(max)", nullable: false),
+ PetGender = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Pets", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Pets_Owners_OwnerId",
+ column: x => x.OwnerId,
+ principalTable: "Owners",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Purchases",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ OwnerId = table.Column(type: "int", nullable: false),
+ DrugId = table.Column(type: "int", nullable: false),
+ Count = table.Column(type: "int", nullable: false),
+ Sum = table.Column(type: "float", nullable: false),
+ DatePurchase = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Purchases", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Purchases_Drugs_DrugId",
+ column: x => x.DrugId,
+ principalTable: "Drugs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_Purchases_Owners_OwnerId",
+ column: x => x.OwnerId,
+ principalTable: "Owners",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Visits",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ OwnerId = table.Column(type: "int", nullable: false),
+ DoctorId = table.Column(type: "int", nullable: false),
+ DateVisit = table.Column(type: "datetime2", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Visits", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Visits_Doctors_DoctorId",
+ column: x => x.DoctorId,
+ principalTable: "Doctors",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_Visits_Owners_OwnerId",
+ column: x => x.OwnerId,
+ principalTable: "Owners",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "DrugMedications",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ DrugId = table.Column(type: "int", nullable: false),
+ MedicationId = table.Column(type: "int", nullable: false),
+ Count = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_DrugMedications", x => x.Id);
+ table.ForeignKey(
+ name: "FK_DrugMedications_Drugs_DrugId",
+ column: x => x.DrugId,
+ principalTable: "Drugs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_DrugMedications_Medications_MedicationId",
+ column: x => x.MedicationId,
+ principalTable: "Medications",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "PurchasePets",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ PurchaseId = table.Column(type: "int", nullable: false),
+ PetId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_PurchasePets", x => x.Id);
+ table.ForeignKey(
+ name: "FK_PurchasePets_Pets_PetId",
+ column: x => x.PetId,
+ principalTable: "Pets",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_PurchasePets_Purchases_PurchaseId",
+ column: x => x.PurchaseId,
+ principalTable: "Purchases",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ 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),
+ DoctorId = table.Column(type: "int", nullable: false),
+ VisitId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Services", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Services_Doctors_DoctorId",
+ column: x => x.DoctorId,
+ principalTable: "Doctors",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_Services_Visits_VisitId",
+ column: x => x.VisitId,
+ principalTable: "Visits",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "VisitPets",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ VisitId = table.Column(type: "int", nullable: false),
+ PetId = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_VisitPets", x => x.Id);
+ table.ForeignKey(
+ name: "FK_VisitPets_Pets_PetId",
+ column: x => x.PetId,
+ principalTable: "Pets",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_VisitPets_Visits_VisitId",
+ column: x => x.VisitId,
+ principalTable: "Visits",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ServiceMedications",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ServiceId = table.Column(type: "int", nullable: false),
+ MedicationId = table.Column(type: "int", nullable: false),
+ Count = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ServiceMedications", x => x.Id);
+ table.ForeignKey(
+ name: "FK_ServiceMedications_Medications_MedicationId",
+ column: x => x.MedicationId,
+ principalTable: "Medications",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_ServiceMedications_Services_ServiceId",
+ column: x => x.ServiceId,
+ principalTable: "Services",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_DrugMedications_DrugId",
+ table: "DrugMedications",
+ column: "DrugId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_DrugMedications_MedicationId",
+ table: "DrugMedications",
+ column: "MedicationId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Medications_DoctorId",
+ table: "Medications",
+ column: "DoctorId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Pets_OwnerId",
+ table: "Pets",
+ column: "OwnerId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_PurchasePets_PetId",
+ table: "PurchasePets",
+ column: "PetId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_PurchasePets_PurchaseId",
+ table: "PurchasePets",
+ column: "PurchaseId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Purchases_DrugId",
+ table: "Purchases",
+ column: "DrugId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Purchases_OwnerId",
+ table: "Purchases",
+ column: "OwnerId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceMedications_MedicationId",
+ table: "ServiceMedications",
+ column: "MedicationId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceMedications_ServiceId",
+ table: "ServiceMedications",
+ column: "ServiceId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Services_DoctorId",
+ table: "Services",
+ column: "DoctorId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Services_VisitId",
+ table: "Services",
+ column: "VisitId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VisitPets_PetId",
+ table: "VisitPets",
+ column: "PetId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_VisitPets_VisitId",
+ table: "VisitPets",
+ column: "VisitId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Visits_DoctorId",
+ table: "Visits",
+ column: "DoctorId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Visits_OwnerId",
+ table: "Visits",
+ column: "OwnerId");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "DrugMedications");
+
+ migrationBuilder.DropTable(
+ name: "PurchasePets");
+
+ migrationBuilder.DropTable(
+ name: "ServiceMedications");
+
+ migrationBuilder.DropTable(
+ name: "VisitPets");
+
+ migrationBuilder.DropTable(
+ name: "Purchases");
+
+ migrationBuilder.DropTable(
+ name: "Medications");
+
+ migrationBuilder.DropTable(
+ name: "Services");
+
+ migrationBuilder.DropTable(
+ name: "Pets");
+
+ migrationBuilder.DropTable(
+ name: "Drugs");
+
+ migrationBuilder.DropTable(
+ name: "Visits");
+
+ migrationBuilder.DropTable(
+ name: "Doctors");
+
+ migrationBuilder.DropTable(
+ name: "Owners");
+ }
+ }
+}
diff --git a/VeterinaryView/VeterinaryDatabaseImplement/Migrations/VeterinaryDatabaseModelSnapshot.cs b/VeterinaryView/VeterinaryDatabaseImplement/Migrations/VeterinaryDatabaseModelSnapshot.cs
new file mode 100644
index 0000000..97f9874
--- /dev/null
+++ b/VeterinaryView/VeterinaryDatabaseImplement/Migrations/VeterinaryDatabaseModelSnapshot.cs
@@ -0,0 +1,546 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using VeterinaryDatabaseImplement;
+
+#nullable disable
+
+namespace VeterinaryDatabaseImplement.Migrations
+{
+ [DbContext(typeof(VeterinaryDatabase))]
+ partial class VeterinaryDatabaseModelSnapshot : 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("VeterinaryDatabaseImplement.Models.Doctor", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DoctorFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Login")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Doctors");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Drug", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("DrugName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("Drugs");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.DrugMedication", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("DrugId")
+ .HasColumnType("int");
+
+ b.Property("MedicationId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DrugId");
+
+ b.HasIndex("MedicationId");
+
+ b.ToTable("DrugMedications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Medication", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DoctorId")
+ .HasColumnType("int");
+
+ b.Property("MedicationName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DoctorId");
+
+ b.ToTable("Medications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Owner", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Login")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OwnerFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Owners");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Pet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.Property("PetBreed")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PetGender")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PetName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("PetType")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Pets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("DatePurchase")
+ .HasColumnType("datetime2");
+
+ b.Property("DrugId")
+ .HasColumnType("int");
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.Property("Sum")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DrugId");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Purchases");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.PurchasePet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PetId")
+ .HasColumnType("int");
+
+ b.Property("PurchaseId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PetId");
+
+ b.HasIndex("PurchaseId");
+
+ b.ToTable("PurchasePets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Service", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DoctorId")
+ .HasColumnType("int");
+
+ b.Property("ServiceName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DoctorId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("Services");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.ServiceMedication", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("MedicationId")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MedicationId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("ServiceMedications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Visit", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("DateVisit")
+ .HasColumnType("datetime2");
+
+ b.Property("DoctorId")
+ .IsRequired()
+ .HasColumnType("int");
+
+ b.Property("OwnerId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DoctorId");
+
+ b.HasIndex("OwnerId");
+
+ b.ToTable("Visits");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.VisitPet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("PetId")
+ .HasColumnType("int");
+
+ b.Property("VisitId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PetId");
+
+ b.HasIndex("VisitId");
+
+ b.ToTable("VisitPets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.DrugMedication", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Drug", "Drug")
+ .WithMany("Medications")
+ .HasForeignKey("DrugId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Medication", "Medication")
+ .WithMany("DrugMedications")
+ .HasForeignKey("MedicationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Drug");
+
+ b.Navigation("Medication");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Medication", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Doctor", null)
+ .WithMany("Medications")
+ .HasForeignKey("DoctorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Pet", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Owner", null)
+ .WithMany("Pets")
+ .HasForeignKey("OwnerId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Purchase", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Drug", "Drug")
+ .WithMany("Purchases")
+ .HasForeignKey("DrugId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Owner", "Owner")
+ .WithMany("Purchases")
+ .HasForeignKey("OwnerId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Drug");
+
+ b.Navigation("Owner");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.PurchasePet", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Pet", "Pet")
+ .WithMany()
+ .HasForeignKey("PetId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Purchase", "Purchase")
+ .WithMany("Pets")
+ .HasForeignKey("PurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pet");
+
+ b.Navigation("Purchase");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Service", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Doctor", "Doctor")
+ .WithMany("Services")
+ .HasForeignKey("DoctorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Visit", null)
+ .WithMany("Services")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Doctor");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.ServiceMedication", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Medication", "Medication")
+ .WithMany("ServiceMedications")
+ .HasForeignKey("MedicationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Service", "Service")
+ .WithMany("Medications")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Medication");
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Visit", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Doctor", "Doctor")
+ .WithMany("Visits")
+ .HasForeignKey("DoctorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Owner", "Owner")
+ .WithMany("Visits")
+ .HasForeignKey("OwnerId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Doctor");
+
+ b.Navigation("Owner");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.VisitPet", b =>
+ {
+ b.HasOne("VeterinaryDatabaseImplement.Models.Pet", "Pet")
+ .WithMany("VisitPets")
+ .HasForeignKey("PetId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("VeterinaryDatabaseImplement.Models.Visit", "Visit")
+ .WithMany("Pets")
+ .HasForeignKey("VisitId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Pet");
+
+ b.Navigation("Visit");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Doctor", b =>
+ {
+ b.Navigation("Medications");
+
+ b.Navigation("Services");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Drug", b =>
+ {
+ b.Navigation("Medications");
+
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Medication", b =>
+ {
+ b.Navigation("DrugMedications");
+
+ b.Navigation("ServiceMedications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Owner", b =>
+ {
+ b.Navigation("Pets");
+
+ b.Navigation("Purchases");
+
+ b.Navigation("Visits");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Pet", b =>
+ {
+ b.Navigation("VisitPets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Navigation("Pets");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Service", b =>
+ {
+ b.Navigation("Medications");
+ });
+
+ modelBuilder.Entity("VeterinaryDatabaseImplement.Models.Visit", b =>
+ {
+ b.Navigation("Pets");
+
+ b.Navigation("Services");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}