diff --git a/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogics/OrderLogic.cs b/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogics/OrderLogic.cs
index 6e09a59..d77c1a2 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogics/OrderLogic.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshopBusinessLogic/BusinessLogics/OrderLogic.cs
@@ -126,15 +126,29 @@ namespace BlacksmithWorkshopBusinessLogic.BusinessLogics
{
throw new ArgumentNullException(nameof(model));
}
- if (viewModel.Status + 1 != newStatus)
+ if (viewModel.Status + 1 != newStatus && viewModel.Status != OrderStatus.Ожидание)
{
_logger.LogWarning("Change status operation failed");
throw new InvalidOperationException();
}
model.Status = newStatus;
- if (model.Status == OrderStatus.Готов)
+ if (model.Status == OrderStatus.Готов || viewModel.Status == OrderStatus.Ожидание)
{
model.DateImplement = DateTime.Now;
+ var manufacture = _manufactureStorage.GetElement(new() { Id = viewModel.ManufactureId });
+ if (manufacture == null)
+ {
+ throw new ArgumentNullException(nameof(manufacture));
+ }
+ if (!_shopLogic.AddManufactures(manufacture, viewModel.Count))
+ {
+ model.Status = OrderStatus.Ожидание;
+ _logger.LogWarning($"AddTravels operation failed");
+ }
+ else
+ {
+ model.DateImplement = DateTime.Now;
+ }
}
else
{
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/BlacksmithWorkshopDatabaseImplement.csproj b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/BlacksmithWorkshopDatabaseImplement.csproj
index a475681..592c18e 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/BlacksmithWorkshopDatabaseImplement.csproj
+++ b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/BlacksmithWorkshopDatabaseImplement.csproj
@@ -20,8 +20,4 @@
-
-
-
-
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230417131353_WithImplementer.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230417131353_WithImplementer.Designer.cs
deleted file mode 100644
index ebce25a..0000000
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230417131353_WithImplementer.Designer.cs
+++ /dev/null
@@ -1,257 +0,0 @@
-//
-using System;
-using BlacksmithWorkshopDatabaseImplement;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-
-#nullable disable
-
-namespace BlacksmithWorkshopDatabaseImplement.Migrations
-{
- [DbContext(typeof(BlacksmithWorkshopDatabase))]
- [Migration("20230417131353_WithImplementer")]
- partial class WithImplementer
- {
- ///
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "7.0.4")
- .HasAnnotation("Relational:MaxIdentifierLength", 128);
-
- SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Client", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ClientFIO")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Email")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.HasKey("Id");
-
- b.ToTable("Clients");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Component", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ComponentName")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Cost")
- .HasColumnType("float");
-
- b.HasKey("Id");
-
- b.ToTable("Components");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Implementer", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ImplementerFIO")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Qualification")
- .HasColumnType("int");
-
- b.Property("WorkExperience")
- .HasColumnType("int");
-
- b.HasKey("Id");
-
- b.ToTable("Implementers");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ManufactureName")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Price")
- .HasColumnType("float");
-
- b.HasKey("Id");
-
- b.ToTable("Manufactures");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.ManufactureComponent", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ComponentId")
- .HasColumnType("int");
-
- b.Property("Count")
- .HasColumnType("int");
-
- b.Property("ManufactureId")
- .HasColumnType("int");
-
- b.HasKey("Id");
-
- b.HasIndex("ComponentId");
-
- b.HasIndex("ManufactureId");
-
- b.ToTable("ManufactureComponents");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Order", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ClientId")
- .HasColumnType("int");
-
- b.Property("Count")
- .HasColumnType("int");
-
- b.Property("DateCreate")
- .HasColumnType("datetime2");
-
- b.Property("DateImplement")
- .HasColumnType("datetime2");
-
- b.Property("ImplementerId")
- .HasColumnType("int");
-
- b.Property("ManufactureId")
- .HasColumnType("int");
-
- b.Property("Status")
- .HasColumnType("int");
-
- b.Property("Sum")
- .HasColumnType("float");
-
- b.HasKey("Id");
-
- b.HasIndex("ClientId");
-
- b.HasIndex("ImplementerId");
-
- b.HasIndex("ManufactureId");
-
- b.ToTable("Orders");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.ManufactureComponent", b =>
- {
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Component", "Component")
- .WithMany("ManufactureComponents")
- .HasForeignKey("ComponentId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", "Manufacture")
- .WithMany("Components")
- .HasForeignKey("ManufactureId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Component");
-
- b.Navigation("Manufacture");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Order", b =>
- {
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Client", "Client")
- .WithMany("Orders")
- .HasForeignKey("ClientId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Implementer", "Implementer")
- .WithMany("Orders")
- .HasForeignKey("ImplementerId");
-
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", "Manufacture")
- .WithMany("Orders")
- .HasForeignKey("ManufactureId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Client");
-
- b.Navigation("Implementer");
-
- b.Navigation("Manufacture");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Client", b =>
- {
- b.Navigation("Orders");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Component", b =>
- {
- b.Navigation("ManufactureComponents");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Implementer", b =>
- {
- b.Navigation("Orders");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", b =>
- {
- b.Navigation("Components");
-
- b.Navigation("Orders");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230417131353_WithImplementer.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230417131353_WithImplementer.cs
deleted file mode 100644
index 2183091..0000000
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230417131353_WithImplementer.cs
+++ /dev/null
@@ -1,108 +0,0 @@
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace BlacksmithWorkshopDatabaseImplement.Migrations
-{
- ///
- public partial class WithImplementer : Migration
- {
- ///
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_Orders_Clients_ClientId",
- table: "Orders");
-
- migrationBuilder.AlterColumn(
- name: "ClientId",
- table: "Orders",
- type: "int",
- nullable: false,
- defaultValue: 0,
- oldClrType: typeof(int),
- oldType: "int",
- oldNullable: true);
-
- migrationBuilder.AddColumn(
- name: "ImplementerId",
- table: "Orders",
- type: "int",
- nullable: true);
-
- migrationBuilder.CreateTable(
- name: "Implementers",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- ImplementerFIO = table.Column(type: "nvarchar(max)", nullable: false),
- Password = table.Column(type: "nvarchar(max)", nullable: false),
- WorkExperience = table.Column(type: "int", nullable: false),
- Qualification = table.Column(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Implementers", x => x.Id);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_Orders_ImplementerId",
- table: "Orders",
- column: "ImplementerId");
-
- migrationBuilder.AddForeignKey(
- name: "FK_Orders_Clients_ClientId",
- table: "Orders",
- column: "ClientId",
- principalTable: "Clients",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
-
- migrationBuilder.AddForeignKey(
- name: "FK_Orders_Implementers_ImplementerId",
- table: "Orders",
- column: "ImplementerId",
- principalTable: "Implementers",
- principalColumn: "Id");
- }
-
- ///
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropForeignKey(
- name: "FK_Orders_Clients_ClientId",
- table: "Orders");
-
- migrationBuilder.DropForeignKey(
- name: "FK_Orders_Implementers_ImplementerId",
- table: "Orders");
-
- migrationBuilder.DropTable(
- name: "Implementers");
-
- migrationBuilder.DropIndex(
- name: "IX_Orders_ImplementerId",
- table: "Orders");
-
- migrationBuilder.DropColumn(
- name: "ImplementerId",
- table: "Orders");
-
- migrationBuilder.AlterColumn(
- name: "ClientId",
- table: "Orders",
- type: "int",
- nullable: true,
- oldClrType: typeof(int),
- oldType: "int");
-
- migrationBuilder.AddForeignKey(
- name: "FK_Orders_Clients_ClientId",
- table: "Orders",
- column: "ClientId",
- principalTable: "Clients",
- principalColumn: "Id");
- }
- }
-}
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230504000559_WithMessageInfo.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230504000559_WithMessageInfo.Designer.cs
deleted file mode 100644
index 5072774..0000000
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230504000559_WithMessageInfo.Designer.cs
+++ /dev/null
@@ -1,296 +0,0 @@
-//
-using System;
-using BlacksmithWorkshopDatabaseImplement;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Metadata;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-
-#nullable disable
-
-namespace BlacksmithWorkshopDatabaseImplement.Migrations
-{
- [DbContext(typeof(BlacksmithWorkshopDatabase))]
- [Migration("20230504000559_WithMessageInfo")]
- partial class WithMessageInfo
- {
- ///
- 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("BlacksmithWorkshopDatabaseImplement.Models.Client", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ClientFIO")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Email")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.HasKey("Id");
-
- b.ToTable("Clients");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Component", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ComponentName")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Cost")
- .HasColumnType("float");
-
- b.HasKey("Id");
-
- b.ToTable("Components");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Implementer", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ImplementerFIO")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Password")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Qualification")
- .HasColumnType("int");
-
- b.Property("WorkExperience")
- .HasColumnType("int");
-
- b.HasKey("Id");
-
- b.ToTable("Implementers");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ManufactureName")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Price")
- .HasColumnType("float");
-
- b.HasKey("Id");
-
- b.ToTable("Manufactures");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.ManufactureComponent", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ComponentId")
- .HasColumnType("int");
-
- b.Property("Count")
- .HasColumnType("int");
-
- b.Property("ManufactureId")
- .HasColumnType("int");
-
- b.HasKey("Id");
-
- b.HasIndex("ComponentId");
-
- b.HasIndex("ManufactureId");
-
- b.ToTable("ManufactureComponents");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.MessageInfo", b =>
- {
- b.Property("MessageId")
- .HasColumnType("nvarchar(450)");
-
- b.Property("Body")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("ClientId")
- .HasColumnType("int");
-
- b.Property("DateDelivery")
- .HasColumnType("datetime2");
-
- b.Property("SenderName")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.Property("Subject")
- .IsRequired()
- .HasColumnType("nvarchar(max)");
-
- b.HasKey("MessageId");
-
- b.HasIndex("ClientId");
-
- b.ToTable("MessageInfos");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Order", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("int");
-
- SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
-
- b.Property("ClientId")
- .HasColumnType("int");
-
- b.Property("Count")
- .HasColumnType("int");
-
- b.Property("DateCreate")
- .HasColumnType("datetime2");
-
- b.Property("DateImplement")
- .HasColumnType("datetime2");
-
- b.Property("ImplementerId")
- .HasColumnType("int");
-
- b.Property("ManufactureId")
- .HasColumnType("int");
-
- b.Property("Status")
- .HasColumnType("int");
-
- b.Property("Sum")
- .HasColumnType("float");
-
- b.HasKey("Id");
-
- b.HasIndex("ClientId");
-
- b.HasIndex("ImplementerId");
-
- b.HasIndex("ManufactureId");
-
- b.ToTable("Orders");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.ManufactureComponent", b =>
- {
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Component", "Component")
- .WithMany("ManufactureComponents")
- .HasForeignKey("ComponentId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", "Manufacture")
- .WithMany("Components")
- .HasForeignKey("ManufactureId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Component");
-
- b.Navigation("Manufacture");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.MessageInfo", b =>
- {
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Client", "Client")
- .WithMany()
- .HasForeignKey("ClientId");
-
- b.Navigation("Client");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Order", b =>
- {
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Client", "Client")
- .WithMany("Orders")
- .HasForeignKey("ClientId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Implementer", "Implementer")
- .WithMany("Orders")
- .HasForeignKey("ImplementerId");
-
- b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", "Manufacture")
- .WithMany("Orders")
- .HasForeignKey("ManufactureId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("Client");
-
- b.Navigation("Implementer");
-
- b.Navigation("Manufacture");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Client", b =>
- {
- b.Navigation("Orders");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Component", b =>
- {
- b.Navigation("ManufactureComponents");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Implementer", b =>
- {
- b.Navigation("Orders");
- });
-
- modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Manufacture", b =>
- {
- b.Navigation("Components");
-
- b.Navigation("Orders");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230504000559_WithMessageInfo.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230504000559_WithMessageInfo.cs
deleted file mode 100644
index a91c967..0000000
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230504000559_WithMessageInfo.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace BlacksmithWorkshopDatabaseImplement.Migrations
-{
- ///
- public partial class WithMessageInfo : Migration
- {
- ///
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "MessageInfos",
- columns: table => new
- {
- MessageId = table.Column(type: "nvarchar(450)", nullable: false),
- ClientId = table.Column(type: "int", nullable: true),
- SenderName = table.Column(type: "nvarchar(max)", nullable: false),
- DateDelivery = table.Column(type: "datetime2", nullable: false),
- Subject = table.Column(type: "nvarchar(max)", nullable: false),
- Body = table.Column(type: "nvarchar(max)", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_MessageInfos", x => x.MessageId);
- table.ForeignKey(
- name: "FK_MessageInfos_Clients_ClientId",
- column: x => x.ClientId,
- principalTable: "Clients",
- principalColumn: "Id");
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_MessageInfos_ClientId",
- table: "MessageInfos",
- column: "ClientId");
- }
-
- ///
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "MessageInfos");
- }
- }
-}
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230505211018_Init.Designer.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230612104157_Init.Designer.cs
similarity index 87%
rename from BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230505211018_Init.Designer.cs
rename to BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230612104157_Init.Designer.cs
index 9b78345..023ca04 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230505211018_Init.Designer.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230612104157_Init.Designer.cs
@@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
namespace BlacksmithWorkshopDatabaseImplement.Migrations
{
[DbContext(typeof(BlacksmithWorkshopDatabase))]
- [Migration("20230505211018_Init")]
+ [Migration("20230612104157_Init")]
partial class Init
{
///
@@ -143,6 +143,42 @@ namespace BlacksmithWorkshopDatabaseImplement.Migrations
b.ToTable("ManufactureComponents");
});
+ modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.MessageInfo", b =>
+ {
+ b.Property("MessageId")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("Body")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ClientId")
+ .HasColumnType("int");
+
+ b.Property("DateDelivery")
+ .HasColumnType("datetime2");
+
+ b.Property("IsRead")
+ .HasColumnType("bit");
+
+ b.Property("ReplyText")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("SenderName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Subject")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("MessageId");
+
+ b.HasIndex("ClientId");
+
+ b.ToTable("MessageInfos");
+ });
+
modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Order", b =>
{
b.Property("Id")
@@ -258,6 +294,15 @@ namespace BlacksmithWorkshopDatabaseImplement.Migrations
b.Navigation("Manufacture");
});
+ modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.MessageInfo", b =>
+ {
+ b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Client", "Client")
+ .WithMany()
+ .HasForeignKey("ClientId");
+
+ b.Navigation("Client");
+ });
+
modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Order", b =>
{
b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Client", "Client")
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230505211018_Init.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230612104157_Init.cs
similarity index 87%
rename from BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230505211018_Init.cs
rename to BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230612104157_Init.cs
index 603b332..c8513b0 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230505211018_Init.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/20230612104157_Init.cs
@@ -86,6 +86,29 @@ namespace BlacksmithWorkshopDatabaseImplement.Migrations
table.PrimaryKey("PK_Shops", x => x.Id);
});
+ migrationBuilder.CreateTable(
+ name: "MessageInfos",
+ columns: table => new
+ {
+ MessageId = table.Column(type: "nvarchar(450)", nullable: false),
+ ClientId = table.Column(type: "int", nullable: true),
+ SenderName = table.Column(type: "nvarchar(max)", nullable: false),
+ DateDelivery = table.Column(type: "datetime2", nullable: false),
+ Subject = table.Column(type: "nvarchar(max)", nullable: false),
+ Body = table.Column(type: "nvarchar(max)", nullable: false),
+ IsRead = table.Column(type: "bit", nullable: false),
+ ReplyText = table.Column(type: "nvarchar(max)", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_MessageInfos", x => x.MessageId);
+ table.ForeignKey(
+ name: "FK_MessageInfos_Clients_ClientId",
+ column: x => x.ClientId,
+ principalTable: "Clients",
+ principalColumn: "Id");
+ });
+
migrationBuilder.CreateTable(
name: "ManufactureComponents",
columns: table => new
@@ -197,6 +220,11 @@ namespace BlacksmithWorkshopDatabaseImplement.Migrations
table: "ManufactureComponents",
column: "ManufactureId");
+ migrationBuilder.CreateIndex(
+ name: "IX_MessageInfos_ClientId",
+ table: "MessageInfos",
+ column: "ClientId");
+
migrationBuilder.CreateIndex(
name: "IX_Orders_ClientId",
table: "Orders",
@@ -222,6 +250,9 @@ namespace BlacksmithWorkshopDatabaseImplement.Migrations
migrationBuilder.DropTable(
name: "ManufactureComponents");
+ migrationBuilder.DropTable(
+ name: "MessageInfos");
+
migrationBuilder.DropTable(
name: "Orders");
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/BlacksmithWorkshopDatabaseModelSnapshot.cs b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/BlacksmithWorkshopDatabaseModelSnapshot.cs
index 899c9be..2a8d94e 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/BlacksmithWorkshopDatabaseModelSnapshot.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshopDatabaseImplement/Migrations/BlacksmithWorkshopDatabaseModelSnapshot.cs
@@ -155,6 +155,12 @@ namespace BlacksmithWorkshopDatabaseImplement.Migrations
b.Property("DateDelivery")
.HasColumnType("datetime2");
+ b.Property("IsRead")
+ .HasColumnType("bit");
+
+ b.Property("ReplyText")
+ .HasColumnType("nvarchar(max)");
+
b.Property("SenderName")
.IsRequired()
.HasColumnType("nvarchar(max)");
diff --git a/BlacksmithWorkshop/BlacksmithWorkshopRestApi/Controllers/ClientController.cs b/BlacksmithWorkshop/BlacksmithWorkshopRestApi/Controllers/ClientController.cs
index 3bb0373..c53bdbd 100644
--- a/BlacksmithWorkshop/BlacksmithWorkshopRestApi/Controllers/ClientController.cs
+++ b/BlacksmithWorkshop/BlacksmithWorkshopRestApi/Controllers/ClientController.cs
@@ -62,21 +62,23 @@ namespace BlacksmithWorkshopRestApi.Controllers
throw;
}
}
- [HttpGet]
- public List? GetMessages(int clientId)
- {
- try
- {
- return _mailLogic.ReadList(new MessageInfoSearchModel
- {
- ClientId = clientId
- });
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка получения писем клиента");
- throw;
- }
- }
- }
+ [HttpGet]
+ public List? GetMessages(int clientId, int page)
+ {
+ try
+ {
+ return _mailLogic.ReadList(new MessageInfoSearchModel
+ {
+ ClientId = clientId,
+ Page = page,
+ PageSize = 5
+ });
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Ошибка получения писем клиента");
+ throw;
+ }
+ }
+ }
}