From 3c479e1ad5a8ca968d9b5d8bcfd3f917990ae2d3 Mon Sep 17 00:00:00 2001 From: Loretta Date: Mon, 8 Dec 2025 15:49:50 +0100 Subject: [PATCH] Add stock-taking enhancements and validation updates Enhanced stock-taking functionality by introducing the `CloseStockTaking` method in `StockTakingDbContext` to manage session closures with validation. Added the `IsReadyForClose` method to `IMgStockTaking` and its implementation in `MgStockTaking`. Integrated `FruitBankDbContext` for stock updates. Improved logging in `StockSignalREndpointServer` and added a new SignalR endpoint for closing stock-taking sessions. Updated `AddStockTaking` to initialize properties for new entries. Simplified loading logic in `OrderItemDtoDbTable` by commenting out unnecessary `.ThenLoad` chains. Enhanced validation in `RefreshStockTakingItemMeasuredValuesFromPallets` and adjusted return statements in `AddOrUpdateMeasuredStockTakingItemPallet` and `UpdateStockTakingItemPallet` to fetch updated entities. These changes improve maintainability, robustness, and functionality across the codebase. --- Mango.Nop.Core/Dtos/ModelDtoBase.cs | 3 ++- Mango.Nop.Core/Entities/MgStockTaking.cs | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Mango.Nop.Core/Dtos/ModelDtoBase.cs b/Mango.Nop.Core/Dtos/ModelDtoBase.cs index b6ac8a8..25cbd62 100644 --- a/Mango.Nop.Core/Dtos/ModelDtoBase.cs +++ b/Mango.Nop.Core/Dtos/ModelDtoBase.cs @@ -1,4 +1,5 @@ -using Nop.Core; +using AyCode.Core.Interfaces; +using Nop.Core; namespace Mango.Nop.Core.Dtos; diff --git a/Mango.Nop.Core/Entities/MgStockTaking.cs b/Mango.Nop.Core/Entities/MgStockTaking.cs index 658c88d..dce99f7 100644 --- a/Mango.Nop.Core/Entities/MgStockTaking.cs +++ b/Mango.Nop.Core/Entities/MgStockTaking.cs @@ -9,6 +9,8 @@ public interface IMgStockTaking : IEntityInt, ITimeStampInfo { public DateTime StartDateTime { get; set; } public bool IsClosed { get; set; } + + public bool IsReadyForClose(); } public abstract class MgStockTaking : MgEntityBase, IMgStockTaking where TStockTakingItem : class, IMgStockTakingItem @@ -16,6 +18,8 @@ public abstract class MgStockTaking : MgEntityBase, IMgStockTa public DateTime StartDateTime { get; set; } public bool IsClosed { get; set; } + public abstract bool IsReadyForClose(); + [Association(ThisKey = nameof(Id), OtherKey = nameof(IMgStockTakingItem.StockTakingId), CanBeNull = true)] public List? StockTakingItems { get; set; }