From a97287aaae1f56b5c09ff81a61de45b7b74e2f8a Mon Sep 17 00:00:00 2001
From: ujijrujijr <ujijrujijr@mail.ru>
Date: Tue, 30 Apr 2024 23:22:38 +0400
Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BF=20=D0=BC=D0=B8=D0=B3=D1=80?=
 =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ...п миграция (Гоша).Designer.cs | 522 ++++++++++++++++++
 ...2040_Доп миграция (Гоша).cs |  22 +
 .../ComputerShopDatabaseModelSnapshot.cs      |   4 +-
 3 files changed, 545 insertions(+), 3 deletions(-)
 create mode 100644 ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).Designer.cs
 create mode 100644 ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).cs

diff --git a/ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).Designer.cs b/ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).Designer.cs
new file mode 100644
index 0000000..eb126c3
--- /dev/null
+++ b/ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).Designer.cs	
@@ -0,0 +1,522 @@
+// <auto-generated />
+using System;
+using ComputerShopDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace ComputerShopDatabaseImplement.Migrations
+{
+    [DbContext(typeof(ComputerShopDatabase))]
+    [Migration("20240430192040_Доп миграция (Гоша)")]
+    partial class ДопмиграцияГоша
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "7.0.18")
+                .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Assembly", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("AssemblyName")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Category")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<double>("Cost")
+                        .HasColumnType("double precision");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("Assemblies");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.AssemblyComponent", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("AssemblyId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("ComponentId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("Count")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("AssemblyId");
+
+                    b.HasIndex("ComponentId");
+
+                    b.ToTable("AssemblyComponents");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Component", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("ComponentName")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<double>("Cost")
+                        .HasColumnType("double precision");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("Components");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Order", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("DateCreate")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<int>("Status")
+                        .HasColumnType("integer");
+
+                    b.Property<double>("Sum")
+                        .HasColumnType("double precision");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("Orders");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Product", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<double>("Cost")
+                        .HasColumnType("double precision");
+
+                    b.Property<string>("ProductName")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<int?>("ShipmentId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("Warranty")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ShipmentId");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("Products");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.ProductComponent", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("ComponentId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("Count")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("ProductId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("ComponentId");
+
+                    b.HasIndex("ProductId");
+
+                    b.ToTable("ProductComponents");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Request", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int?>("AssemblyId")
+                        .HasColumnType("integer");
+
+                    b.Property<string>("ClientFIO")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<DateTime>("DateRequest")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("AssemblyId");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("Requests");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.RequestOrder", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("OrderId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("RequestId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("OrderId");
+
+                    b.HasIndex("RequestId");
+
+                    b.ToTable("RequestOrders");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Shipment", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("DateShipment")
+                        .HasColumnType("timestamp without time zone");
+
+                    b.Property<string>("ProviderName")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<int>("UserId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("Shipments");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.ShipmentOrder", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("OrderId")
+                        .HasColumnType("integer");
+
+                    b.Property<int>("ShipmentId")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.HasIndex("OrderId");
+
+                    b.HasIndex("ShipmentId");
+
+                    b.ToTable("ShipmentOrders");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.User", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("Email")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Login")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<string>("Password")
+                        .IsRequired()
+                        .HasColumnType("text");
+
+                    b.Property<int>("Role")
+                        .HasColumnType("integer");
+
+                    b.HasKey("Id");
+
+                    b.ToTable("Users");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Assembly", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.User", null)
+                        .WithMany("Assemblies")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.AssemblyComponent", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Assembly", "Assembly")
+                        .WithMany("Components")
+                        .HasForeignKey("AssemblyId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Component", "Component")
+                        .WithMany("AssemblyComponents")
+                        .HasForeignKey("ComponentId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Assembly");
+
+                    b.Navigation("Component");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Component", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.User", null)
+                        .WithMany("Components")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Order", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.User", null)
+                        .WithMany("Orders")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Product", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Shipment", "Shipment")
+                        .WithMany("Products")
+                        .HasForeignKey("ShipmentId");
+
+                    b.HasOne("ComputerShopDatabaseImplement.Models.User", null)
+                        .WithMany("Proucts")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Shipment");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.ProductComponent", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Component", "Component")
+                        .WithMany("ProductComponents")
+                        .HasForeignKey("ComponentId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Product", "Product")
+                        .WithMany("Components")
+                        .HasForeignKey("ProductId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Component");
+
+                    b.Navigation("Product");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Request", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Assembly", "Assembly")
+                        .WithMany("Requests")
+                        .HasForeignKey("AssemblyId");
+
+                    b.HasOne("ComputerShopDatabaseImplement.Models.User", "User")
+                        .WithMany("Requests")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Assembly");
+
+                    b.Navigation("User");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.RequestOrder", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Order", "Order")
+                        .WithMany("Requests")
+                        .HasForeignKey("OrderId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Request", "Request")
+                        .WithMany("Orders")
+                        .HasForeignKey("RequestId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Order");
+
+                    b.Navigation("Request");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Shipment", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.User", null)
+                        .WithMany("Shipments")
+                        .HasForeignKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.ShipmentOrder", b =>
+                {
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Order", "Order")
+                        .WithMany("Shipments")
+                        .HasForeignKey("OrderId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.HasOne("ComputerShopDatabaseImplement.Models.Shipment", "Shipment")
+                        .WithMany("Orders")
+                        .HasForeignKey("ShipmentId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired();
+
+                    b.Navigation("Order");
+
+                    b.Navigation("Shipment");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Assembly", b =>
+                {
+                    b.Navigation("Components");
+
+                    b.Navigation("Requests");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Component", b =>
+                {
+                    b.Navigation("AssemblyComponents");
+
+                    b.Navigation("ProductComponents");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Order", b =>
+                {
+                    b.Navigation("Requests");
+
+                    b.Navigation("Shipments");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Product", b =>
+                {
+                    b.Navigation("Components");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Request", b =>
+                {
+                    b.Navigation("Orders");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Shipment", b =>
+                {
+                    b.Navigation("Orders");
+
+                    b.Navigation("Products");
+                });
+
+            modelBuilder.Entity("ComputerShopDatabaseImplement.Models.User", b =>
+                {
+                    b.Navigation("Assemblies");
+
+                    b.Navigation("Components");
+
+                    b.Navigation("Orders");
+
+                    b.Navigation("Proucts");
+
+                    b.Navigation("Requests");
+
+                    b.Navigation("Shipments");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).cs b/ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).cs
new file mode 100644
index 0000000..e01fc4c
--- /dev/null
+++ b/ComputerShopDatabaseImplement/Migrations/20240430192040_Доп миграция (Гоша).cs	
@@ -0,0 +1,22 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace ComputerShopDatabaseImplement.Migrations
+{
+    /// <inheritdoc />
+    public partial class ДопмиграцияГоша : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+
+        }
+    }
+}
diff --git a/ComputerShopDatabaseImplement/Migrations/ComputerShopDatabaseModelSnapshot.cs b/ComputerShopDatabaseImplement/Migrations/ComputerShopDatabaseModelSnapshot.cs
index fc83080..4214f0f 100644
--- a/ComputerShopDatabaseImplement/Migrations/ComputerShopDatabaseModelSnapshot.cs
+++ b/ComputerShopDatabaseImplement/Migrations/ComputerShopDatabaseModelSnapshot.cs
@@ -435,13 +435,11 @@ namespace ComputerShopDatabaseImplement.Migrations
 
             modelBuilder.Entity("ComputerShopDatabaseImplement.Models.Shipment", b =>
                 {
-                    b.HasOne("ComputerShopDatabaseImplement.Models.User", "User")
+                    b.HasOne("ComputerShopDatabaseImplement.Models.User", null)
                         .WithMany("Shipments")
                         .HasForeignKey("UserId")
                         .OnDelete(DeleteBehavior.Cascade)
                         .IsRequired();
-
-                    b.Navigation("User");
                 });
 
             modelBuilder.Entity("ComputerShopDatabaseImplement.Models.ShipmentOrder", b =>