diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501133019_initial.Designer.cs b/BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501133019_initial.Designer.cs
new file mode 100644
index 0000000..c37ae3c
--- /dev/null
+++ b/BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501133019_initial.Designer.cs
@@ -0,0 +1,669 @@
+//
+using System;
+using BeautySalonDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace BeautySalonDatabaseImplement.Migrations
+{
+ [DbContext(typeof(BeautySalonDatabase))]
+ [Migration("20240501133019_initial")]
+ partial class initial
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.17")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Client", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ClientEmail")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ClientFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ClientLogin")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ClientPassword")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ClientPhone")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Clients");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Cosmetic", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Brand")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CosmeticName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("CosmeticPrice")
+ .HasColumnType("float");
+
+ b.Property("LaborCostId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("LaborCostId");
+
+ b.ToTable("Cosmetics");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.CosmeticProcedure", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("CosmeticId")
+ .HasColumnType("int");
+
+ b.Property("ProcedureCosmeticCount")
+ .HasColumnType("int");
+
+ b.Property("ProcedureId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CosmeticId");
+
+ b.HasIndex("ProcedureId");
+
+ b.ToTable("CosmeticProcedures");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Evaluation", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ClientId")
+ .HasColumnType("int");
+
+ b.Property("PointsCosmetics")
+ .HasColumnType("float");
+
+ b.Property("PointsProcedure")
+ .HasColumnType("float");
+
+ b.Property("ProcedureId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ClientId");
+
+ b.HasIndex("ProcedureId");
+
+ b.ToTable("Evaluations");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.LaborCosts", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Difficulty")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("NumberHours")
+ .HasColumnType("int");
+
+ b.Property("StaffMemberId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("StaffMemberId");
+
+ b.ToTable("LaborCosts");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.OrderCosmetic", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("CosmeticId")
+ .HasColumnType("int");
+
+ b.Property("OrderId")
+ .HasColumnType("int");
+
+ b.Property("ProcedureId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CosmeticId");
+
+ b.HasIndex("OrderId");
+
+ b.HasIndex("ProcedureId");
+
+ b.ToTable("OrderCosmetics");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.OrderProcedure", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("OrderId")
+ .HasColumnType("int");
+
+ b.Property("OrderProcedureCount")
+ .HasColumnType("int");
+
+ b.Property("ProcedureId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OrderId");
+
+ b.HasIndex("ProcedureId");
+
+ b.ToTable("OrderProcedures");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.OrderService", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("OrderId")
+ .HasColumnType("int");
+
+ b.Property("OrderServiceCount")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OrderId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("OrderServices");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Order_", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ClientId")
+ .HasColumnType("int");
+
+ b.Property("OrderAmount")
+ .HasColumnType("float");
+
+ b.Property("OrderDate")
+ .HasColumnType("datetime2");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ClientId");
+
+ b.ToTable("Orders");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Procedure", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ClientId")
+ .HasColumnType("int");
+
+ b.Property("ProcedureDuration")
+ .HasColumnType("float");
+
+ b.Property("ProcedureName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ProcedurePrice")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ClientId");
+
+ b.ToTable("Procedures");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Service", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ServiceName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ServicePrice")
+ .HasColumnType("float");
+
+ b.Property("StaffMemberId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("StaffMemberId");
+
+ b.ToTable("Services");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.ServiceCosmetic", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("CosmeticId")
+ .HasColumnType("int");
+
+ b.Property("ServiceCosmeticCount")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CosmeticId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("ServiceCosmetics");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.ServiceProcedure", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ProcedureId")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.Property("ServiceProcedureCount")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ProcedureId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("ServiceProcedures");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.StaffMember", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("StaffMemberEmail")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("StaffMemberFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("StaffMemberLogin")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("StaffMemberPassword")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("StaffMemberPhone")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("StaffMemberSpecialty")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("StaffMembers");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Cosmetic", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.LaborCosts", "LaborCost")
+ .WithMany("Cosmetics")
+ .HasForeignKey("LaborCostId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("LaborCost");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.CosmeticProcedure", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Cosmetic", "Cosmetic")
+ .WithMany("Procedures")
+ .HasForeignKey("CosmeticId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Procedure", "Procedure")
+ .WithMany("Cosmetics")
+ .HasForeignKey("ProcedureId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Cosmetic");
+
+ b.Navigation("Procedure");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Evaluation", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Client", "Client")
+ .WithMany("Evaluations")
+ .HasForeignKey("ClientId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Procedure", "Procedure")
+ .WithMany("Evaluations")
+ .HasForeignKey("ProcedureId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Client");
+
+ b.Navigation("Procedure");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.LaborCosts", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.StaffMember", "StaffMember")
+ .WithMany("LaborsCosts")
+ .HasForeignKey("StaffMemberId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("StaffMember");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.OrderCosmetic", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Cosmetic", "Cosmetic")
+ .WithMany("Orders")
+ .HasForeignKey("CosmeticId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Order_", "Order")
+ .WithMany("Cosmetics")
+ .HasForeignKey("OrderId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Procedure", null)
+ .WithMany("Orders")
+ .HasForeignKey("ProcedureId");
+
+ b.Navigation("Cosmetic");
+
+ b.Navigation("Order");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.OrderProcedure", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Order_", "Order")
+ .WithMany("Procedures")
+ .HasForeignKey("OrderId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Procedure", "Procedure")
+ .WithMany()
+ .HasForeignKey("ProcedureId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Order");
+
+ b.Navigation("Procedure");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.OrderService", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Order_", "Order")
+ .WithMany("Services")
+ .HasForeignKey("OrderId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Service", "Service")
+ .WithMany("Orders")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Order");
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Order_", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Client", "Client")
+ .WithMany("Orders")
+ .HasForeignKey("ClientId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Client");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Procedure", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Client", "Client")
+ .WithMany("Procedures")
+ .HasForeignKey("ClientId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Client");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Service", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.StaffMember", "StaffMember")
+ .WithMany("Services")
+ .HasForeignKey("StaffMemberId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("StaffMember");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.ServiceCosmetic", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Cosmetic", "Cosmetic")
+ .WithMany("Services")
+ .HasForeignKey("CosmeticId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Service", "Service")
+ .WithMany("Cosmetics")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Cosmetic");
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.ServiceProcedure", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Procedure", "Procedure")
+ .WithMany("Services")
+ .HasForeignKey("ProcedureId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Service", "Service")
+ .WithMany("Procedures")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Procedure");
+
+ b.Navigation("Service");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Client", b =>
+ {
+ b.Navigation("Evaluations");
+
+ b.Navigation("Orders");
+
+ b.Navigation("Procedures");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Cosmetic", b =>
+ {
+ b.Navigation("Orders");
+
+ b.Navigation("Procedures");
+
+ b.Navigation("Services");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.LaborCosts", b =>
+ {
+ b.Navigation("Cosmetics");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Order_", b =>
+ {
+ b.Navigation("Cosmetics");
+
+ b.Navigation("Procedures");
+
+ b.Navigation("Services");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Procedure", b =>
+ {
+ b.Navigation("Cosmetics");
+
+ b.Navigation("Evaluations");
+
+ b.Navigation("Orders");
+
+ b.Navigation("Services");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Service", b =>
+ {
+ b.Navigation("Cosmetics");
+
+ b.Navigation("Orders");
+
+ b.Navigation("Procedures");
+ });
+
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.StaffMember", b =>
+ {
+ b.Navigation("LaborsCosts");
+
+ b.Navigation("Services");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501083122_InitMigration.cs b/BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501133019_initial.cs
similarity index 89%
rename from BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501083122_InitMigration.cs
rename to BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501133019_initial.cs
index 44078d3..441c717 100644
--- a/BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501083122_InitMigration.cs
+++ b/BeautySalonView/BeautySalonDatabaseImplement/Migrations/20240501133019_initial.cs
@@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
namespace BeautySalonDatabaseImplement.Migrations
{
///
- public partial class InitMigration : Migration
+ public partial class initial : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
@@ -20,6 +20,7 @@ namespace BeautySalonDatabaseImplement.Migrations
ClientLogin = table.Column(type: "nvarchar(max)", nullable: false),
ClientFIO = table.Column(type: "nvarchar(max)", nullable: false),
ClientEmail = table.Column(type: "nvarchar(max)", nullable: false),
+ ClientPhone = table.Column(type: "nvarchar(max)", nullable: false),
ClientPassword = table.Column(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
@@ -33,8 +34,7 @@ namespace BeautySalonDatabaseImplement.Migrations
{
Id = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
- StaffMemberName = table.Column(type: "nvarchar(max)", nullable: false),
- StaffMemberSurname = table.Column(type: "nvarchar(max)", nullable: false),
+ StaffMemberFIO = table.Column(type: "nvarchar(max)", nullable: false),
StaffMemberSpecialty = table.Column(type: "nvarchar(max)", nullable: false),
StaffMemberLogin = table.Column(type: "nvarchar(max)", nullable: false),
StaffMemberEmail = table.Column(type: "nvarchar(max)", nullable: false),
@@ -75,6 +75,7 @@ namespace BeautySalonDatabaseImplement.Migrations
.Annotation("SqlServer:Identity", "1, 1"),
ProcedureName = table.Column(type: "nvarchar(max)", nullable: false),
ProcedurePrice = table.Column(type: "float", nullable: false),
+ ProcedureDuration = table.Column(type: "float", nullable: false),
ClientId = table.Column(type: "int", nullable: false)
},
constraints: table =>
@@ -155,7 +156,7 @@ namespace BeautySalonDatabaseImplement.Migrations
column: x => x.ProcedureId,
principalTable: "Procedures",
principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
+ onDelete: ReferentialAction.NoAction);
});
migrationBuilder.CreateTable(
@@ -182,7 +183,7 @@ namespace BeautySalonDatabaseImplement.Migrations
column: x => x.ProcedureId,
principalTable: "Procedures",
principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
+ onDelete: ReferentialAction.NoAction);
});
migrationBuilder.CreateTable(
@@ -234,6 +235,33 @@ namespace BeautySalonDatabaseImplement.Migrations
onDelete: ReferentialAction.Cascade);
});
+ migrationBuilder.CreateTable(
+ name: "ServiceProcedures",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ServiceId = table.Column(type: "int", nullable: false),
+ ProcedureId = table.Column(type: "int", nullable: false),
+ ServiceProcedureCount = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ServiceProcedures", x => x.Id);
+ table.ForeignKey(
+ name: "FK_ServiceProcedures_Procedures_ProcedureId",
+ column: x => x.ProcedureId,
+ principalTable: "Procedures",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_ServiceProcedures_Services_ServiceId",
+ column: x => x.ServiceId,
+ principalTable: "Services",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
migrationBuilder.CreateTable(
name: "CosmeticProcedures",
columns: table => new
@@ -317,7 +345,7 @@ namespace BeautySalonDatabaseImplement.Migrations
column: x => x.ServiceId,
principalTable: "Services",
principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
+ onDelete: ReferentialAction.NoAction);
});
migrationBuilder.CreateIndex(
@@ -405,6 +433,16 @@ namespace BeautySalonDatabaseImplement.Migrations
table: "ServiceCosmetics",
column: "ServiceId");
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceProcedures_ProcedureId",
+ table: "ServiceProcedures",
+ column: "ProcedureId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ServiceProcedures_ServiceId",
+ table: "ServiceProcedures",
+ column: "ServiceId");
+
migrationBuilder.CreateIndex(
name: "IX_Services_StaffMemberId",
table: "Services",
@@ -433,7 +471,7 @@ namespace BeautySalonDatabaseImplement.Migrations
name: "ServiceCosmetics");
migrationBuilder.DropTable(
- name: "Procedures");
+ name: "ServiceProcedures");
migrationBuilder.DropTable(
name: "Orders");
@@ -441,14 +479,17 @@ namespace BeautySalonDatabaseImplement.Migrations
migrationBuilder.DropTable(
name: "Cosmetics");
+ migrationBuilder.DropTable(
+ name: "Procedures");
+
migrationBuilder.DropTable(
name: "Services");
migrationBuilder.DropTable(
- name: "Clients");
+ name: "LaborCosts");
migrationBuilder.DropTable(
- name: "LaborCosts");
+ name: "Clients");
migrationBuilder.DropTable(
name: "StaffMembers");
diff --git a/BeautySalonView/BeautySalonDatabaseImplement/Migrations/BeautySalonDatabaseModelSnapshot.cs b/BeautySalonView/BeautySalonDatabaseImplement/Migrations/BeautySalonDatabaseModelSnapshot.cs
index 5fdde51..8e71c65 100644
--- a/BeautySalonView/BeautySalonDatabaseImplement/Migrations/BeautySalonDatabaseModelSnapshot.cs
+++ b/BeautySalonView/BeautySalonDatabaseImplement/Migrations/BeautySalonDatabaseModelSnapshot.cs
@@ -46,6 +46,10 @@ namespace BeautySalonDatabaseImplement.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
+ b.Property("ClientPhone")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
b.HasKey("Id");
b.ToTable("Clients");
@@ -275,6 +279,9 @@ namespace BeautySalonDatabaseImplement.Migrations
b.Property("ClientId")
.HasColumnType("int");
+ b.Property("ProcedureDuration")
+ .HasColumnType("float");
+
b.Property("ProcedureName")
.IsRequired()
.HasColumnType("nvarchar(max)");
@@ -340,6 +347,32 @@ namespace BeautySalonDatabaseImplement.Migrations
b.ToTable("ServiceCosmetics");
});
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.ServiceProcedure", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ProcedureId")
+ .HasColumnType("int");
+
+ b.Property("ServiceId")
+ .HasColumnType("int");
+
+ b.Property("ServiceProcedureCount")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ProcedureId");
+
+ b.HasIndex("ServiceId");
+
+ b.ToTable("ServiceProcedures");
+ });
+
modelBuilder.Entity("BeautySalonDatabaseImplement.Models.StaffMember", b =>
{
b.Property("Id")
@@ -352,11 +385,11 @@ namespace BeautySalonDatabaseImplement.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
- b.Property("StaffMemberLogin")
+ b.Property("StaffMemberFIO")
.IsRequired()
.HasColumnType("nvarchar(max)");
- b.Property("StaffMemberName")
+ b.Property("StaffMemberLogin")
.IsRequired()
.HasColumnType("nvarchar(max)");
@@ -372,10 +405,6 @@ namespace BeautySalonDatabaseImplement.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
- b.Property("StaffMemberSurname")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
b.HasKey("Id");
b.ToTable("StaffMembers");
@@ -444,7 +473,7 @@ namespace BeautySalonDatabaseImplement.Migrations
modelBuilder.Entity("BeautySalonDatabaseImplement.Models.OrderCosmetic", b =>
{
b.HasOne("BeautySalonDatabaseImplement.Models.Cosmetic", "Cosmetic")
- .WithMany()
+ .WithMany("Orders")
.HasForeignKey("CosmeticId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
@@ -554,6 +583,25 @@ namespace BeautySalonDatabaseImplement.Migrations
b.Navigation("Service");
});
+ modelBuilder.Entity("BeautySalonDatabaseImplement.Models.ServiceProcedure", b =>
+ {
+ b.HasOne("BeautySalonDatabaseImplement.Models.Procedure", "Procedure")
+ .WithMany("Services")
+ .HasForeignKey("ProcedureId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("BeautySalonDatabaseImplement.Models.Service", "Service")
+ .WithMany("Procedures")
+ .HasForeignKey("ServiceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Procedure");
+
+ b.Navigation("Service");
+ });
+
modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Client", b =>
{
b.Navigation("Evaluations");
@@ -565,6 +613,8 @@ namespace BeautySalonDatabaseImplement.Migrations
modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Cosmetic", b =>
{
+ b.Navigation("Orders");
+
b.Navigation("Procedures");
b.Navigation("Services");
@@ -591,6 +641,8 @@ namespace BeautySalonDatabaseImplement.Migrations
b.Navigation("Evaluations");
b.Navigation("Orders");
+
+ b.Navigation("Services");
});
modelBuilder.Entity("BeautySalonDatabaseImplement.Models.Service", b =>
@@ -598,6 +650,8 @@ namespace BeautySalonDatabaseImplement.Migrations
b.Navigation("Cosmetics");
b.Navigation("Orders");
+
+ b.Navigation("Procedures");
});
modelBuilder.Entity("BeautySalonDatabaseImplement.Models.StaffMember", b =>