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 + } + } +}