From 391a54d2003630652667c05ef0bbc02797727c96 Mon Sep 17 00:00:00 2001
From: Yuee Shiness <lisnik79@yandex.ru>
Date: Thu, 18 May 2023 02:57:47 +0400
Subject: [PATCH] Migration

---
 ...0230517211626_RelationsFixesV7.Designer.cs | 495 ++++++++++++++++++
 .../20230517211626_RelationsFixesV7.cs        |  38 ++
 2 files changed, 533 insertions(+)
 create mode 100644 ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.Designer.cs
 create mode 100644 ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.cs

diff --git a/ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.Designer.cs b/ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.Designer.cs
new file mode 100644
index 0000000..c15fe1b
--- /dev/null
+++ b/ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.Designer.cs
@@ -0,0 +1,495 @@
+// <auto-generated />
+using System;
+using ComputerStoreDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace ComputerStoreDatabaseImplement.Migrations
+{
+    [DbContext(typeof(ComputerStoreDatabase))]
+    [Migration("20230517211626_RelationsFixesV7")]
+    partial class RelationsFixesV7
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "7.0.5")
+                .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<double>("Price")
+                        .HasColumnType("float");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("Components");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<int>("OrderID")
+                        .HasColumnType("int");
+
+                    b.Property<double>("Price")
+                        .HasColumnType("float");
+
+                    b.Property<int?>("ProductID")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("OrderID");
+
+                    b.HasIndex("ProductID");
+
+                    b.ToTable("Consignments");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<int>("ConsignmentID")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Count")
+                        .HasColumnType("int");
+
+                    b.Property<int>("ProductID")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ConsignmentID");
+
+                    b.HasIndex("ProductID");
+
+                    b.ToTable("ConsignmentProducts");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<string>("FirstName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("LastName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("MiddleName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Password")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Username")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("Employees");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<DateTime>("DateCreate")
+                        .HasColumnType("datetime2");
+
+                    b.Property<DateTime?>("DateImplement")
+                        .HasColumnType("datetime2");
+
+                    b.Property<double>("Price")
+                        .HasColumnType("float");
+
+                    b.Property<int>("SellerID")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("SellerID");
+
+                    b.ToTable("Orders");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<int>("EmployeeID")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<double>("Price")
+                        .HasColumnType("float");
+
+                    b.Property<int>("RequestID")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("EmployeeID");
+
+                    b.HasIndex("RequestID");
+
+                    b.ToTable("PCS");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<int>("EmployeeID")
+                        .HasColumnType("int");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<double>("Price")
+                        .HasColumnType("float");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("EmployeeID");
+
+                    b.ToTable("Products");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<int>("ComponentID")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Count")
+                        .HasColumnType("int");
+
+                    b.Property<int>("ProductID")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ComponentID");
+
+                    b.HasIndex("ProductID");
+
+                    b.ToTable("ProductComponents");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<int>("OrderID")
+                        .HasColumnType("int");
+
+                    b.Property<int?>("PCID")
+                        .HasColumnType("int");
+
+                    b.Property<double>("Price")
+                        .HasColumnType("float");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("OrderID");
+
+                    b.ToTable("Requests");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<int>("ComponentID")
+                        .HasColumnType("int");
+
+                    b.Property<int>("Count")
+                        .HasColumnType("int");
+
+                    b.Property<int?>("PCID")
+                        .HasColumnType("int");
+
+                    b.Property<int>("RequestID")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ComponentID");
+
+                    b.HasIndex("RequestID");
+
+                    b.ToTable("RequestComponents");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b =>
+                {
+                    b.Property<int>("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("int");
+
+                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ID"));
+
+                    b.Property<string>("FirstName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("LastName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("MiddleName")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Password")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property<string>("Username")
+                        .IsRequired()
+                        .HasColumnType("nvarchar(max)");
+
+                    b.HasKey("ID");
+
+                    b.ToTable("Sellers");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order")
+                        .WithMany("_consignments")
+                        .HasForeignKey("OrderID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Product", null)
+                        .WithMany("Consignments")
+                        .HasForeignKey("ProductID");
+
+                    b.Navigation("Order");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ConsignmentProduct", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Consignment", "Consignment")
+                        .WithMany("Products")
+                        .HasForeignKey("ConsignmentID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product")
+                        .WithMany()
+                        .HasForeignKey("ProductID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Consignment");
+
+                    b.Navigation("Product");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Seller", "Seller")
+                        .WithMany("Orders")
+                        .HasForeignKey("SellerID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Seller");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.PC", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee")
+                        .WithMany("PCs")
+                        .HasForeignKey("EmployeeID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request")
+                        .WithMany("PersonalComputers")
+                        .HasForeignKey("RequestID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Employee");
+
+                    b.Navigation("Request");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Employee", "Employee")
+                        .WithMany("Products")
+                        .HasForeignKey("EmployeeID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Employee");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.ProductComponent", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component")
+                        .WithMany("ConsignmentComponents")
+                        .HasForeignKey("ComponentID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Product", "Product")
+                        .WithMany("Components")
+                        .HasForeignKey("ProductID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Component");
+
+                    b.Navigation("Product");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Order", "Order")
+                        .WithMany("_requests")
+                        .HasForeignKey("OrderID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Order");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.RequestComponent", b =>
+                {
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Component", "Component")
+                        .WithMany("RequestComponents")
+                        .HasForeignKey("ComponentID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerStoreDatabaseImplement.Models.Request", "Request")
+                        .WithMany("PCs")
+                        .HasForeignKey("RequestID")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Component");
+
+                    b.Navigation("Request");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Component", b =>
+                {
+                    b.Navigation("ConsignmentComponents");
+
+                    b.Navigation("RequestComponents");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Consignment", b =>
+                {
+                    b.Navigation("Products");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Employee", b =>
+                {
+                    b.Navigation("PCs");
+
+                    b.Navigation("Products");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Order", b =>
+                {
+                    b.Navigation("_consignments");
+
+                    b.Navigation("_requests");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Product", b =>
+                {
+                    b.Navigation("Components");
+
+                    b.Navigation("Consignments");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Request", b =>
+                {
+                    b.Navigation("PCs");
+
+                    b.Navigation("PersonalComputers");
+                });
+
+            modelBuilder.Entity("ComputerStoreDatabaseImplement.Models.Seller", b =>
+                {
+                    b.Navigation("Orders");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.cs b/ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.cs
new file mode 100644
index 0000000..9354abd
--- /dev/null
+++ b/ComputerStoreDatabaseImplement/Migrations/20230517211626_RelationsFixesV7.cs
@@ -0,0 +1,38 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace ComputerStoreDatabaseImplement.Migrations
+{
+    /// <inheritdoc />
+    public partial class RelationsFixesV7 : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropForeignKey(
+                name: "FK_RequestComponents_PCS_PCID",
+                table: "RequestComponents");
+
+            migrationBuilder.DropIndex(
+                name: "IX_RequestComponents_PCID",
+                table: "RequestComponents");
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.CreateIndex(
+                name: "IX_RequestComponents_PCID",
+                table: "RequestComponents",
+                column: "PCID");
+
+            migrationBuilder.AddForeignKey(
+                name: "FK_RequestComponents_PCS_PCID",
+                table: "RequestComponents",
+                column: "PCID",
+                principalTable: "PCS",
+                principalColumn: "ID");
+        }
+    }
+}