diff --git a/Bank/BankDatabaseImplement/Migrations/20240430191018_InitialCreate.Designer.cs b/Bank/BankDatabaseImplement/Migrations/20240430191018_InitialCreate.Designer.cs
new file mode 100644
index 0000000..1060fd0
--- /dev/null
+++ b/Bank/BankDatabaseImplement/Migrations/20240430191018_InitialCreate.Designer.cs
@@ -0,0 +1,377 @@
+//
+using System;
+using BankDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace BankDatabaseImplement.Migrations
+{
+ [DbContext(typeof(BankDB))]
+ [Migration("20240430191018_InitialCreate")]
+ partial class InitialCreate
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.4")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Client", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Address")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("MiddleName")
+ .HasColumnType("text");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("PhoneNumber")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Clients");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Cost", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("EmployeeId")
+ .HasColumnType("integer");
+
+ b.Property("NameOfCost")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Price")
+ .HasColumnType("double precision");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EmployeeId");
+
+ b.ToTable("Costs");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.CostByPurchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CostId")
+ .HasColumnType("integer");
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("PurchaseId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CostId");
+
+ b.HasIndex("PurchaseId");
+
+ b.ToTable("CostByPurchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Employee", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("MiddleName")
+ .HasColumnType("text");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("PhoneNumber")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Post")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Employees");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Operation", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("EmployeeId")
+ .HasColumnType("integer");
+
+ b.Property("Mark")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Model")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Price")
+ .HasColumnType("double precision");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EmployeeId");
+
+ b.ToTable("Operations");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.OperationByPurchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CountOperations")
+ .HasColumnType("integer");
+
+ b.Property("OperationId")
+ .HasColumnType("integer");
+
+ b.Property("PurchaseId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OperationId");
+
+ b.HasIndex("PurchaseId");
+
+ b.ToTable("OperationByPurchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Payment", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Date")
+ .HasColumnType("date");
+
+ b.Property("OperationByPurchaseId")
+ .HasColumnType("integer");
+
+ b.Property("PaidPrice")
+ .HasColumnType("double precision");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OperationByPurchaseId");
+
+ b.ToTable("Payments");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ClientId")
+ .HasColumnType("integer");
+
+ b.Property("DatePurchase")
+ .HasColumnType("date");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ClientId");
+
+ b.ToTable("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Cost", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Employee", "Employee")
+ .WithMany("Costs")
+ .HasForeignKey("EmployeeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Employee");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.CostByPurchase", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Cost", "Cost")
+ .WithMany("Purchases")
+ .HasForeignKey("CostId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BankDatabaseImplement.Models.Purchase", "Purchase")
+ .WithMany("Costs")
+ .HasForeignKey("PurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Cost");
+
+ b.Navigation("Purchase");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Operation", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Employee", "Employee")
+ .WithMany("Operations")
+ .HasForeignKey("EmployeeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Employee");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.OperationByPurchase", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Operation", "Operation")
+ .WithMany("Purchases")
+ .HasForeignKey("OperationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BankDatabaseImplement.Models.Purchase", "Purchase")
+ .WithMany("Operations")
+ .HasForeignKey("PurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Operation");
+
+ b.Navigation("Purchase");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Payment", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.OperationByPurchase", "OperationByPurchase")
+ .WithMany("Payments")
+ .HasForeignKey("OperationByPurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("OperationByPurchase");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Purchase", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Client", "Client")
+ .WithMany("Purchases")
+ .HasForeignKey("ClientId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Client");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Client", b =>
+ {
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Cost", b =>
+ {
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Employee", b =>
+ {
+ b.Navigation("Costs");
+
+ b.Navigation("Operations");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Operation", b =>
+ {
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.OperationByPurchase", b =>
+ {
+ b.Navigation("Payments");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Navigation("Costs");
+
+ b.Navigation("Operations");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Bank/BankDatabaseImplement/Migrations/20240430191018_InitialCreate.cs b/Bank/BankDatabaseImplement/Migrations/20240430191018_InitialCreate.cs
new file mode 100644
index 0000000..8d19f14
--- /dev/null
+++ b/Bank/BankDatabaseImplement/Migrations/20240430191018_InitialCreate.cs
@@ -0,0 +1,260 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace BankDatabaseImplement.Migrations
+{
+ ///
+ public partial class InitialCreate : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "Clients",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ FirstName = table.Column(type: "text", nullable: false),
+ LastName = table.Column(type: "text", nullable: false),
+ MiddleName = table.Column(type: "text", nullable: true),
+ Address = table.Column(type: "text", nullable: false),
+ PhoneNumber = table.Column(type: "text", nullable: false),
+ Email = table.Column(type: "text", nullable: false),
+ Password = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Clients", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Employees",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ FirstName = table.Column(type: "text", nullable: false),
+ LastName = table.Column(type: "text", nullable: false),
+ MiddleName = table.Column(type: "text", nullable: true),
+ Post = table.Column(type: "text", nullable: false),
+ PhoneNumber = table.Column(type: "text", nullable: false),
+ Password = table.Column(type: "text", nullable: false),
+ Email = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Employees", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Purchases",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ ClientId = table.Column(type: "integer", nullable: false),
+ DatePurchase = table.Column(type: "date", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Purchases", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Purchases_Clients_ClientId",
+ column: x => x.ClientId,
+ principalTable: "Clients",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Costs",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ EmployeeId = table.Column(type: "integer", nullable: false),
+ NameOfCost = table.Column(type: "text", nullable: false),
+ Price = table.Column(type: "double precision", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Costs", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Costs_Employees_EmployeeId",
+ column: x => x.EmployeeId,
+ principalTable: "Employees",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Operations",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ EmployeeId = table.Column(type: "integer", nullable: false),
+ Model = table.Column(type: "text", nullable: false),
+ Price = table.Column(type: "double precision", nullable: false),
+ Mark = table.Column(type: "text", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Operations", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Operations_Employees_EmployeeId",
+ column: x => x.EmployeeId,
+ principalTable: "Employees",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "CostByPurchases",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ CostId = table.Column(type: "integer", nullable: false),
+ PurchaseId = table.Column(type: "integer", nullable: false),
+ Count = table.Column(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_CostByPurchases", x => x.Id);
+ table.ForeignKey(
+ name: "FK_CostByPurchases_Costs_CostId",
+ column: x => x.CostId,
+ principalTable: "Costs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_CostByPurchases_Purchases_PurchaseId",
+ column: x => x.PurchaseId,
+ principalTable: "Purchases",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "OperationByPurchases",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ OperationId = table.Column(type: "integer", nullable: false),
+ PurchaseId = table.Column(type: "integer", nullable: false),
+ CountOperations = table.Column(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_OperationByPurchases", x => x.Id);
+ table.ForeignKey(
+ name: "FK_OperationByPurchases_Operations_OperationId",
+ column: x => x.OperationId,
+ principalTable: "Operations",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_OperationByPurchases_Purchases_PurchaseId",
+ column: x => x.PurchaseId,
+ principalTable: "Purchases",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Payments",
+ columns: table => new
+ {
+ Id = table.Column(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ OperationByPurchaseId = table.Column(type: "integer", nullable: false),
+ Date = table.Column(type: "date", nullable: false),
+ PaidPrice = table.Column(type: "double precision", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Payments", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Payments_OperationByPurchases_OperationByPurchaseId",
+ column: x => x.OperationByPurchaseId,
+ principalTable: "OperationByPurchases",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_CostByPurchases_CostId",
+ table: "CostByPurchases",
+ column: "CostId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_CostByPurchases_PurchaseId",
+ table: "CostByPurchases",
+ column: "PurchaseId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Costs_EmployeeId",
+ table: "Costs",
+ column: "EmployeeId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_OperationByPurchases_OperationId",
+ table: "OperationByPurchases",
+ column: "OperationId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_OperationByPurchases_PurchaseId",
+ table: "OperationByPurchases",
+ column: "PurchaseId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Operations_EmployeeId",
+ table: "Operations",
+ column: "EmployeeId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Payments_OperationByPurchaseId",
+ table: "Payments",
+ column: "OperationByPurchaseId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Purchases_ClientId",
+ table: "Purchases",
+ column: "ClientId");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "CostByPurchases");
+
+ migrationBuilder.DropTable(
+ name: "Payments");
+
+ migrationBuilder.DropTable(
+ name: "Costs");
+
+ migrationBuilder.DropTable(
+ name: "OperationByPurchases");
+
+ migrationBuilder.DropTable(
+ name: "Operations");
+
+ migrationBuilder.DropTable(
+ name: "Purchases");
+
+ migrationBuilder.DropTable(
+ name: "Employees");
+
+ migrationBuilder.DropTable(
+ name: "Clients");
+ }
+ }
+}
diff --git a/Bank/BankDatabaseImplement/Migrations/BankDBModelSnapshot.cs b/Bank/BankDatabaseImplement/Migrations/BankDBModelSnapshot.cs
new file mode 100644
index 0000000..b0ca920
--- /dev/null
+++ b/Bank/BankDatabaseImplement/Migrations/BankDBModelSnapshot.cs
@@ -0,0 +1,374 @@
+//
+using System;
+using BankDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace BankDatabaseImplement.Migrations
+{
+ [DbContext(typeof(BankDB))]
+ partial class BankDBModelSnapshot : ModelSnapshot
+ {
+ protected override void BuildModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.4")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Client", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Address")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("MiddleName")
+ .HasColumnType("text");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("PhoneNumber")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Clients");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Cost", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("EmployeeId")
+ .HasColumnType("integer");
+
+ b.Property("NameOfCost")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Price")
+ .HasColumnType("double precision");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EmployeeId");
+
+ b.ToTable("Costs");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.CostByPurchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CostId")
+ .HasColumnType("integer");
+
+ b.Property("Count")
+ .HasColumnType("integer");
+
+ b.Property("PurchaseId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CostId");
+
+ b.HasIndex("PurchaseId");
+
+ b.ToTable("CostByPurchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Employee", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FirstName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastName")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("MiddleName")
+ .HasColumnType("text");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("PhoneNumber")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Post")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Employees");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Operation", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("EmployeeId")
+ .HasColumnType("integer");
+
+ b.Property("Mark")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Model")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Price")
+ .HasColumnType("double precision");
+
+ b.HasKey("Id");
+
+ b.HasIndex("EmployeeId");
+
+ b.ToTable("Operations");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.OperationByPurchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CountOperations")
+ .HasColumnType("integer");
+
+ b.Property("OperationId")
+ .HasColumnType("integer");
+
+ b.Property("PurchaseId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OperationId");
+
+ b.HasIndex("PurchaseId");
+
+ b.ToTable("OperationByPurchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Payment", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Date")
+ .HasColumnType("date");
+
+ b.Property("OperationByPurchaseId")
+ .HasColumnType("integer");
+
+ b.Property("PaidPrice")
+ .HasColumnType("double precision");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OperationByPurchaseId");
+
+ b.ToTable("Payments");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ClientId")
+ .HasColumnType("integer");
+
+ b.Property("DatePurchase")
+ .HasColumnType("date");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ClientId");
+
+ b.ToTable("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Cost", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Employee", "Employee")
+ .WithMany("Costs")
+ .HasForeignKey("EmployeeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Employee");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.CostByPurchase", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Cost", "Cost")
+ .WithMany("Purchases")
+ .HasForeignKey("CostId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BankDatabaseImplement.Models.Purchase", "Purchase")
+ .WithMany("Costs")
+ .HasForeignKey("PurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Cost");
+
+ b.Navigation("Purchase");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Operation", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Employee", "Employee")
+ .WithMany("Operations")
+ .HasForeignKey("EmployeeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Employee");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.OperationByPurchase", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Operation", "Operation")
+ .WithMany("Purchases")
+ .HasForeignKey("OperationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BankDatabaseImplement.Models.Purchase", "Purchase")
+ .WithMany("Operations")
+ .HasForeignKey("PurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Operation");
+
+ b.Navigation("Purchase");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Payment", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.OperationByPurchase", "OperationByPurchase")
+ .WithMany("Payments")
+ .HasForeignKey("OperationByPurchaseId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("OperationByPurchase");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Purchase", b =>
+ {
+ b.HasOne("BankDatabaseImplement.Models.Client", "Client")
+ .WithMany("Purchases")
+ .HasForeignKey("ClientId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Client");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Client", b =>
+ {
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Cost", b =>
+ {
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Employee", b =>
+ {
+ b.Navigation("Costs");
+
+ b.Navigation("Operations");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Operation", b =>
+ {
+ b.Navigation("Purchases");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.OperationByPurchase", b =>
+ {
+ b.Navigation("Payments");
+ });
+
+ modelBuilder.Entity("BankDatabaseImplement.Models.Purchase", b =>
+ {
+ b.Navigation("Costs");
+
+ b.Navigation("Operations");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}