diff --git a/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BussinessLogic/OrderLogic.cs b/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BussinessLogic/OrderLogic.cs index cb1e5a3..93af1a0 100644 --- a/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BussinessLogic/OrderLogic.cs +++ b/FurnitureAssembly/FurnitureAssemblyBusinessLogic/BussinessLogic/OrderLogic.cs @@ -24,6 +24,8 @@ namespace FurnitureAssemblyBusinessLogic.BussinessLogic private readonly IFurnitureStorage _furnitureStorage; + static readonly object locker = new object(); + // Конструктор public OrderLogic(ILogger logger, IOrderStorage orderStorage, IShopLogic shopLogic, IFurnitureStorage furnitureStorage) { @@ -101,7 +103,10 @@ namespace FurnitureAssemblyBusinessLogic.BussinessLogic public bool TakeOrderInWork(OrderBindingModel model) { - return StatusUpdate(model, OrderStatus.Выполняется); + lock (locker) + { + return StatusUpdate(model, OrderStatus.Выполняется); + } } public bool FinishOrder(OrderBindingModel model) @@ -181,6 +186,12 @@ namespace FurnitureAssemblyBusinessLogic.BussinessLogic model.Status = newOrderStatus; + // Помещаем id работника, не забываем про него... + if (viewModel.ImplementerId.HasValue) + { + model.ImplementerId = viewModel.ImplementerId; + } + // Проверка на выдачу if (model.Status == OrderStatus.Готов || viewModel.Status == OrderStatus.Ожидание) { diff --git a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/FurnitureAssemblyDatabase.cs b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/FurnitureAssemblyDatabase.cs index df186f0..57d7071 100644 --- a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/FurnitureAssemblyDatabase.cs +++ b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/FurnitureAssemblyDatabase.cs @@ -1,5 +1,4 @@ -using BlacksmithWorkshopDatabaseImplement.Models; -using FurnitureAssemblyDatabaseImplement.Models; +using FurnitureAssemblyDatabaseImplement.Models; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; diff --git a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Implements/ShopStorage.cs b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Implements/ShopStorage.cs index 6425e20..e343c8b 100644 --- a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Implements/ShopStorage.cs +++ b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Implements/ShopStorage.cs @@ -1,10 +1,10 @@ -using BlacksmithWorkshopDatabaseImplement.Models; -using FurnitureAssemblyContracts.BindingModels; +using FurnitureAssemblyContracts.BindingModels; using FurnitureAssemblyContracts.SearchModels; using FurnitureAssemblyContracts.StoragesContracts; using FurnitureAssemblyContracts.ViewModels; using FurnitureAssemblyDataModels.Models; using Microsoft.EntityFrameworkCore; +using FurnitureAssemblyDatabaseImplement.Models; using System; using System.Collections.Generic; using System.Linq; diff --git a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511200002_InitialCreate.Designer.cs b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511222321_InitialCreate.Designer.cs similarity index 97% rename from FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511200002_InitialCreate.Designer.cs rename to FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511222321_InitialCreate.Designer.cs index adb0854..77136af 100644 --- a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511200002_InitialCreate.Designer.cs +++ b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511222321_InitialCreate.Designer.cs @@ -12,7 +12,7 @@ using Microsoft.EntityFrameworkCore.Storage.ValueConversion; namespace FurnitureAssemblyDatabaseImplement.Migrations { [DbContext(typeof(FurnitureAssemblyDatabase))] - [Migration("20240511200002_InitialCreate")] + [Migration("20240511222321_InitialCreate")] partial class InitialCreate { /// @@ -25,33 +25,6 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); - modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Shop", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("Address") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("DateOpen") - .HasColumnType("datetime2"); - - b.Property("MaxCountFurnitures") - .HasColumnType("int"); - - b.Property("ShopName") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("Shops"); - }); - modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Client", b => { b.Property("Id") @@ -193,6 +166,33 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations b.ToTable("Orders"); }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Shop", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DateOpen") + .HasColumnType("datetime2"); + + b.Property("MaxCountFurnitures") + .HasColumnType("int"); + + b.Property("ShopName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Shops"); + }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.ShopFurniture", b => { b.Property("Id") @@ -291,7 +291,7 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Shop", "Shop") + b.HasOne("FurnitureAssemblyDatabaseImplement.Models.Shop", "Shop") .WithMany("Furnitures") .HasForeignKey("ShopId") .OnDelete(DeleteBehavior.Cascade) @@ -302,11 +302,6 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations b.Navigation("Shop"); }); - modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Shop", b => - { - b.Navigation("Furnitures"); - }); - modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Client", b => { b.Navigation("Orders"); @@ -326,6 +321,11 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations b.Navigation("Order"); }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Shop", b => + { + b.Navigation("Furnitures"); + }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.WorkPiece", b => { b.Navigation("FurnitureWorkPieces"); diff --git a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511200002_InitialCreate.cs b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511222321_InitialCreate.cs similarity index 100% rename from FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511200002_InitialCreate.cs rename to FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/20240511222321_InitialCreate.cs diff --git a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/FurnitureAssemblyDatabaseModelSnapshot.cs b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/FurnitureAssemblyDatabaseModelSnapshot.cs index c9487ef..50354f1 100644 --- a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/FurnitureAssemblyDatabaseModelSnapshot.cs +++ b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Migrations/FurnitureAssemblyDatabaseModelSnapshot.cs @@ -22,33 +22,6 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); - modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Shop", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("Address") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("DateOpen") - .HasColumnType("datetime2"); - - b.Property("MaxCountFurnitures") - .HasColumnType("int"); - - b.Property("ShopName") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("Shops"); - }); - modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Client", b => { b.Property("Id") @@ -190,6 +163,33 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations b.ToTable("Orders"); }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Shop", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DateOpen") + .HasColumnType("datetime2"); + + b.Property("MaxCountFurnitures") + .HasColumnType("int"); + + b.Property("ShopName") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("Shops"); + }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.ShopFurniture", b => { b.Property("Id") @@ -288,7 +288,7 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("BlacksmithWorkshopDatabaseImplement.Models.Shop", "Shop") + b.HasOne("FurnitureAssemblyDatabaseImplement.Models.Shop", "Shop") .WithMany("Furnitures") .HasForeignKey("ShopId") .OnDelete(DeleteBehavior.Cascade) @@ -299,11 +299,6 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations b.Navigation("Shop"); }); - modelBuilder.Entity("BlacksmithWorkshopDatabaseImplement.Models.Shop", b => - { - b.Navigation("Furnitures"); - }); - modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Client", b => { b.Navigation("Orders"); @@ -323,6 +318,11 @@ namespace FurnitureAssemblyDatabaseImplement.Migrations b.Navigation("Order"); }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.Shop", b => + { + b.Navigation("Furnitures"); + }); + modelBuilder.Entity("FurnitureAssemblyDatabaseImplement.Models.WorkPiece", b => { b.Navigation("FurnitureWorkPieces"); diff --git a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/Shop.cs b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/Shop.cs index b8d1807..fd49c43 100644 --- a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/Shop.cs +++ b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/Shop.cs @@ -1,7 +1,5 @@ using FurnitureAssemblyContracts.BindingModels; using FurnitureAssemblyContracts.ViewModels; -using FurnitureAssemblyDatabaseImplement; -using FurnitureAssemblyDatabaseImplement.Models; using FurnitureAssemblyDataModels.Models; using System; using System.Collections.Generic; @@ -11,7 +9,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace BlacksmithWorkshopDatabaseImplement.Models +namespace FurnitureAssemblyDatabaseImplement.Models { public class Shop : IShopModel { diff --git a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/ShopFurniture.cs b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/ShopFurniture.cs index 8d83e90..3245bd7 100644 --- a/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/ShopFurniture.cs +++ b/FurnitureAssembly/FurnitureAssemblyDatabaseImplement/Models/ShopFurniture.cs @@ -1,5 +1,4 @@ -using BlacksmithWorkshopDatabaseImplement.Models; -using System; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq;